class Complex{
double x,y;
Complex (doublex) {
this .x=x;
this .y=0;//为什么要赋值为0
}
complex (double x,double y){
this .x=x;
this .y=y;
}
public Complex add(Complex Z) {
double aa=x+Z.x;
double bb=y+Z.y;
returnnew Complex (aa,bb) ;
}
public Complex sub(Complex Z) {
double a a=x-Z.X;
double bb=y-Z.y;
returnnew Complex (aa,bb) ;
}
public Complex mult(Complex Z) {
double aa=x*Z.x-y*z.y;//这两步求差看不懂
double bb=y*2.×+×*2.y;//看不懂
returnnew Complex (aa,bb) ;
}
public String toString () {
//i不太清楚if语句的这部分
if(y==0){
return ""+x;
}
if(y>0){
return ""+x+”+"+y+"i";
}
return ""+x+"-“+(-y)+"i";
}
}
//上面的
class Test Complex{
public static voidmain( String[] args) {
Complex c1=new Complex (-2,3) ;
CompIex c2=new complex (4, -5) ;
Complex ac=c1.add(c2) ;
Complex sc=c1.sub(c2) ;
Complex mc=c1.mult(c2) ;
system .out.printIn(“两数之和:“+ac.tostring())i
System .out.println("两数之差:"+sc.toString()) ;
system .out.printin(“两数之积:“+mc.tostring() ;
}
}
public Complex mult(Complex Z) {
double aa=x*Z.x-y*z.y;//这两步求差看不懂
double bb=y*Z.×+×*Z.y;//看不懂
returnnew Complex (aa,bb) ;
}
这个看不懂的话我们可以修改一下:
public Complex mult(Complex Z) {
double aa=this.x*Z.x-this.y*z.y;// 将this.补全
double bb=this.y*Z.×+this.×*Z.y;// 将this.补全
returnnew Complex (aa,bb) ;
}
在对象方法里面直接x这种,其实是使用的自己的x,写全的话应该是this.x,这里只是简写了一下