public class ComplexTester{
public static void main(String[] args)
{
Complex z1=new Complex(1,2);
Complex z2=new Complex(3,4);
System.out.println(z1+"+"+z2+"="+z1.add1(z2));
System.out.println(z1+"-"+z2+"="+z1.sub1(z2));
System.out.println(z1+"*"+z2+"="+z1.mul1(z2));
}
}
class Complex{
private double real, image;
public Complex() {
real = 0;
image = 0;
}
public Complex(double real, double image) {
this.real = real;
this.image = image;
}
public Complex(Complex z) {
this.real = z.getReal();
this.image = z.getImage();
}
public void setReal() {
this.real = real;
}
public void setImage() {
this.image = image;
}
public double getReal() {
return real;
}
public double getImage() {
return image;
}
// 复数+复数
public Complex add1(Complex z) {
return new Complex(getReal() + z.getReal(), getImage() + z.getImage());
}
// 复数+实数
public Complex add2(double d) {
return new Complex(getReal() + d, getImage());
}
// 复数+虚数
public Complex add3(double d) {
return new Complex(getReal(), getImage() + d);
}
// 复数-虚数
public Complex sub1(Complex z) {
return new Complex(getReal() - z.getReal(), getImage() - z.getImage());
}
// 复数-实数
public Complex sub2(double d) {
return new Complex(getReal() - d, getImage());
}
// 复数-虚数
public Complex sub3(double d) {
return new Complex(getReal(), getImage() - d);
}
// 复数*复数
public Complex mul1(Complex z) {
return new Complex(getReal() * z.getReal() - getImage() * z.getImage(),
getImage() * z.getReal() + getReal() * z.getImage());
}
// 复数*实数
public Complex mul2(double d) {
return new Complex(getReal() * d, getImage() * d);
}
public String toString() {
String str = "";
if (image > 0)
str = "(" + real + "+" + image + "i" + ")";
if (image == 0)
str = "(" + real + ")";
if (image < 0)
str = "(" + real + image + "i" + ")";
return str;
}
}