/**----文件名: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;
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;
楼主【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 %
敬礼!