/**----文件名:ComplexNumber.java-----*/
package book.oo;
public class ComplexNumber
{
private double realPart;
private double imaginaryPart;
public ComplexNumber()
{
this.realPart=0.0;
this.imaginaryPart=0.0;
}
public ComplexNumber(double a,double b)
{
this.realPart=a;
this.imaginaryPart=b;
}
public ComplexNumber add(ComplexNumber aComNum) /*复数加法*/
{
if(aComNum==null)
{
System.err.println("对象不能够为null!");
       return new ComplexNumber();
   }
return new ComplexNumber(this.realPart+aComNum.getRealPart(), //出错的地方
this.imaginaryPart+aComNum.getImaginaryPart());
    }
    
    public ComplexNumber decrease(ComplexNumber aComNum) /*复数减法*/
{
if(aComNum==null)
{
System.err.println("对象不能够为null!");
       return new ComplexNumber();
   }
return new ComplexNumber(this.realPart-aComNum.getRealPart(),
this.imaginaryPart-aComNum.getImaginaryPart());
    }
    
     public ComplexNumber multiply(ComplexNumber aComNum) /*复数乘法*/
{
if(aComNum==null)
{
System.err.println("对象不能够为null!");
       return new ComplexNumber();
   }
   double newReal=this.realPart*aComNum.realPart-this.imaginaryPart*aComNum.imaginaryPart;
   double newImaginary=this.realPart*aComNum.imaginaryPart+this.imaginaryPart*aComNum.realPart;
   ComplexNumber result= new ComplexNumber(newReal,newImaginary);
   return result;
  }
  
  public ComplexNumber divide(ComplexNumber aComNum)/*复数除法*/
  {
    if(aComNum==null)
    {
     System.err.println("对象不能够为null!");
     return new ComplexNumber();     
    }
    
    if  ((aComNum.getRealPart()==0)&&(aComNum.getImaginaryPart()==0))  
    {
     System.err.println("除数不能为0!");
     return new ComplexNumber();     
    }
    double temp=aComNum.getRealPart()*aComNum.getRealPart()+aComNum.getImaginaryPart*aComNum.getImaginaryPart();
    
    double crealpart=(this.realPart*aComNum.getRealPart()+this.imaginaryPart*aComNum.getImaginaryPart())/temp;
    
    double cimaginaryPart=(this.imaginaryPart*aComNum.getRealPart()-this.realPart*aComNum.getImaginaryPart())/temp;
    
    return new ComplexNumber(crealPart,cimaginaryPart);
   }
    public String toString()
    {
     return this.realPart+"+"+this.imaginaryPart+"i";
    }
    public double getImaginaryPart()
    {
     return imaginaryPart;
    }
     public void setImaginaryPart(double imaginaryPart)
    { 
     this.imaginaryPart=imaginaryPart;
    }
   public void getRealPart()
    { 
     return realPart;
   }
   public void setIRealPart(double realPart)
    { 
     this.realPart=realPart;
    }
   public static void main (String[] args)
   {
   ComplexNumber a=new ComplexNumber(2,4);
   ComplexNumber b=new ComplexNumber(1,2);
   System.out.println("ComplexNumber a:"+a.toString());
   System.out.println("ComplexNumber b:"+b.toString());
   System.out.println("a+b="+a.add(b).toString());
   System.out.println("a-b="+a.decrease(b).toString());
   System.out.println("a+b="+a.mutiply(b).toString());
   System.out.println("a+b="+a.divide(b).toString());
   }
}
错误很多,挑一个问一下:ComplexNumber.java:24: 此处不允许使用 "void" 类型
return new ComplexNumber(this.realPart+aComNum.getRealPart(),
                         ^        
我明明定义了
private double realPart;
private double imaginaryPart;
                          

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【JAVA_mentu】截止到2008-07-19 11:12:31的历史汇总数据(不包括此帖):
    发帖的总数量:9                        发帖的总分数:170                      每贴平均分数:18                       
    回帖的总数量:33                       得分贴总数量:12                       回帖的得分率:36%                      
    结贴的总数量:9                        结贴的总分数:170                      
    无满意结贴数:1                        无满意结贴分:20                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:11.11 %               无满意结分率:11.76 %                  
    敬礼!
      

  2.   

    ComplexNumber 是构造函数,没有返回值的
      

  3.   

    不好意思,刚才看错了;楼主的getRealPart()方法是void类型的,当然不行了