主题:[讨论]JAVA中求一个复数的运算??
JAVA中求一个复数加减乘除的运算
我编写了一个程序如下:
public class Complex
{
private double realPart;
private double imaginaryPart;
public Complex(double a, double b)
{
this.realPart = a;
this.imaginaryPart = b;
}
public Complex add(Complex a)
{ //第13行
double newReal=this.realPart + a.realPart;
double newImaginaryPart=this.imaginaryPart + a.imaginaryPart;
if(newImaginaryPart>=0){
System.out.println("和为:"+newReal+"+"+newImaginaryPart+"i");}
else
System.out.println("和为:"+newReal+"+"+"("+newImaginaryPart+")"+"i");
}
public Complex decrease(Complex a)
{ //第25行
double newReal=this.realPart - a.realPart;
double newImaginaryPart=this.imaginaryPart - a.imaginaryPart;
if(newImaginaryPart>=0){
System.out.println("差为:"+newReal+"+"+newImaginaryPart+"i");}
else
System.out.println("差为:"+newReal+"+"+"("+newImaginaryPart+")"+"i");
}
public Complex multiply(Complex a)
{ //第37行
double newReal=this.realPart*a.realPart - this.imaginaryPart * a.imaginaryPart;
double newImaginaryPart=this.realPart*a.imaginaryPart + this.imaginaryPart * a.realPart;
if(newImaginaryPart>=0){
System.out.println("积为:"+newReal+"+"+newImaginaryPart+"i");}
else
System.out.println("积为:"+newReal+"+"+"("+newImaginaryPart+")"+"i");
}
public Complex divide(Complex a)
{ //第49行
double newReal=(this.realPart*a.realPart+a.imaginaryPart*this.imaginaryPart)/(a.realPart*a.realPart+a.imaginaryPart*a.imaginaryPart);
double newImaginaryPart=(this.imaginaryPart*a.realPart-this.realPart*a.imaginaryPart)/(a.realPart*a.realPart+a.imaginaryPart*a.imaginaryPart);
if(newImaginaryPart>=0){
System.out.println("商为:"+newReal+"+"+newImaginaryPart+"i");}
else
System.out.println("商为:"+newReal+"+"+"("+newImaginaryPart+")"+"i");
}
public static void main(String [] args)
{
Complex a = new Complex (2,3);
Complex b = new Complex (1,1);
a.add(b);
a.decrease(b);
a.multiply(b);
a.divide(b);
}
};
但是在javac Complex.java时他提示13 25 37 49行缺少返回语句。
请教高手帮忙啊!!!先谢谢了。
我编写了一个程序如下:
public class Complex
{
private double realPart;
private double imaginaryPart;
public Complex(double a, double b)
{
this.realPart = a;
this.imaginaryPart = b;
}
public Complex add(Complex a)
{ //第13行
double newReal=this.realPart + a.realPart;
double newImaginaryPart=this.imaginaryPart + a.imaginaryPart;
if(newImaginaryPart>=0){
System.out.println("和为:"+newReal+"+"+newImaginaryPart+"i");}
else
System.out.println("和为:"+newReal+"+"+"("+newImaginaryPart+")"+"i");
}
public Complex decrease(Complex a)
{ //第25行
double newReal=this.realPart - a.realPart;
double newImaginaryPart=this.imaginaryPart - a.imaginaryPart;
if(newImaginaryPart>=0){
System.out.println("差为:"+newReal+"+"+newImaginaryPart+"i");}
else
System.out.println("差为:"+newReal+"+"+"("+newImaginaryPart+")"+"i");
}
public Complex multiply(Complex a)
{ //第37行
double newReal=this.realPart*a.realPart - this.imaginaryPart * a.imaginaryPart;
double newImaginaryPart=this.realPart*a.imaginaryPart + this.imaginaryPart * a.realPart;
if(newImaginaryPart>=0){
System.out.println("积为:"+newReal+"+"+newImaginaryPart+"i");}
else
System.out.println("积为:"+newReal+"+"+"("+newImaginaryPart+")"+"i");
}
public Complex divide(Complex a)
{ //第49行
double newReal=(this.realPart*a.realPart+a.imaginaryPart*this.imaginaryPart)/(a.realPart*a.realPart+a.imaginaryPart*a.imaginaryPart);
double newImaginaryPart=(this.imaginaryPart*a.realPart-this.realPart*a.imaginaryPart)/(a.realPart*a.realPart+a.imaginaryPart*a.imaginaryPart);
if(newImaginaryPart>=0){
System.out.println("商为:"+newReal+"+"+newImaginaryPart+"i");}
else
System.out.println("商为:"+newReal+"+"+"("+newImaginaryPart+")"+"i");
}
public static void main(String [] args)
{
Complex a = new Complex (2,3);
Complex b = new Complex (1,1);
a.add(b);
a.decrease(b);
a.multiply(b);
a.divide(b);
}
};
但是在javac Complex.java时他提示13 25 37 49行缺少返回语句。
请教高手帮忙啊!!!先谢谢了。