/* This class does not contain all the methods used when handling complex numbers, only the ones needed for calculating Julia sets: add, modulus, square */ public class ComplexNumber { public double real; public double imaginary; // Initialize both parts of number to zero // if no input is given ComplexNumber() { real = 0.0; imaginary = 0.0; } //Initialize with user input ComplexNumber(double real, double imaginary) { this.real = real; this.imaginary = imaginary; } // Add two complex numbers // Result gets saved to the current complex number public void add(ComplexNumber cN) { this.real = this.real + cN.real; this.imaginary = this.imaginary + cN.imaginary; } // The modulus of a complex number describes the distance from (0,0) // Result is always a real number public double modulus() { return Math.sqrt(Math.pow(this.real, 2.0) + Math.pow(this.imaginary, 2.0)); } public void square() { double temp_real = Math.pow(this.real, 2.0) - Math.pow(this.imaginary, 2.0); double temp_imaginary = this.real * this.imaginary * 2; this.real = temp_real; this.imaginary = temp_imaginary; } }