回 帖 发 新 帖 刷新版面

主题:[讨论]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行缺少返回语句。
请教高手帮忙啊!!!先谢谢了。

回复列表 (共2个回复)

沙发

确实需要返回语句不过不是在那几行可能是编译器的问题
public Complex add(Complex a) 你需要返回一个Complex 对象
建议改成public void add(Complex a)就可以了

板凳


谢谢了,果然可以了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册