第1个回答 2013-06-16
public class ComplexTest {
public static void main(String args[]) {
Complex c1 = new Complex();
c1.setReal(11);
c1.setImaginary(22);
Complex c2 = new Complex(22, 33);
Complex add = c1.add(c2);
System.out.println("11 + 22i + 22 + 33i = " + add.toString());
Complex subtract = c2.subtract(c1);
System.out.println("22 + 33i - (11 + 22i) = " + subtract.toString());
Complex c3 = c1.multiply(c2);
System.out.println("(22 + 33i) * (11 + 22i) = " + c3.toString());
}
}
class Complex {
private double real;
private double imaginary;
public Complex() {
}
public Complex(double realNum, double imaginaryNum) {
this.real = realNum;
this.imaginary = imaginaryNum;
}
// (a+bi) + (c+di) = (a+b) + (c+d)i
public Complex add(Complex complexNum2) {
double newRealPart = this.real + complexNum2.getReal();
double newImgPart = this.imaginary + complexNum2.getImaginary();
return new Complex(newRealPart, newImgPart);
}
// (a+bi) - (c+di) = (a-c) + (b-d)i
public Complex subtract(Complex complexNum2) {
double newRealPart = this.real - complexNum2.getReal();
double newImgPart = this.imaginary - complexNum2.getImaginary();
return new Complex(newRealPart, newImgPart);
}
//(a+bi) * (c+di)=(ac-bd) + (bc+ad)i
public Complex multiply(Complex num2) {
double newRealPart = this.real * num2.getReal() - this.imaginary * num2.getImaginary();
double newImgPart = this.imaginary * num2.getReal() - this.real * num2.getImaginary();
return new Complex(newRealPart, newImgPart);
}
public double getImaginary() {
return imaginary;
}
public void setImaginary(double imaginary) {
this.imaginary = imaginary;
}
public double getReal() {
return real;
}
public void setReal(double real) {
this.real = real;
}
// public boolean equals(Complex c2) {
// return this.real == c2.getReal() && this.imaginary == c2.getImaginary();
// }
//
public String toString() {
return real + "+" + imaginary + "i";
}
}
-----------------------测试
11 + 22i + 22 + 33i = 33.0+55.0i
22 + 33i - (11 + 22i) = 11.0+11.0i
(22 + 33i) * (11 + 22i) = -484.0+121.0i