根据下面的要求编程实现复数类ComplexNumber

根据下面的要求编程实现复数类ComplexNumber
(1)复数类ComplexNumber的属性
m_dRealPart:实部,代表复数的实数部分
m_dImaginPart:代表复数的虚数部分
(2)复数类ComplexNumber的方法:
ComplexNumber():构造函数,将实部和虚部都置为0
ComplexNumber(double r,double i):构造函数,通过参数r,i初始化实部和虚部
getRealPart():获得复数对象的实部
getImaginPart():获得复数对象的虚部
setRealPart(double d):设置复数对象的实部
setImaginPart(double d):设置复数对象的虚部
complexAdd(ComplexNumber c):当前复数对象与参数对象相加,所得的结果也是复数,返回给此方法调用者
complexMinus(ComplexNumber c):当前复数对象与参数对象相减,所得的结果也是复数,返回给此方法调用者
complexMulti(ComplexNumber c):当前复数对象与参数对象相乘,所得的结果也是复数,返回给此方法调用者
toString():把当前复数对象组合成"a+bi"字符串的形式返回

第1个回答  推荐于2017-06-12
public class Test
{
public static void main(String args[])
{

ComplexNumber cNumber_1 =
new ComplexNumber(3,-5);
ComplexNumber
cNumber_2 =
new ComplexNumber(2,2);
double d = 10.0;

System.out.println(cNumber_1.toString() + " 加 "
+ cNumber_2.toString() + "
等于 "
+ cNumber_1.complexAdd(cNumber_2).toString());

System.out.println(cNumber_1.toString() + " 加 "
+ d + " 等于 "
+
cNumber_1.complexAdd(d).toString());
System.out.println();

System.out.println(cNumber_1.toString() + " 减 "
+ cNumber_2.toString() + "
等于 "
+ cNumber_1.complexMinus(cNumber_2).toString());

System.out.println(cNumber_1.toString() + " 减 "
+ d + " 等于 "
+
cNumber_1.complexMinus(d).toString());
System.out.println();

System.out.println(cNumber_1.toString() + " 乘 "
+ cNumber_2.toString() + "
等于 "
+ cNumber_1.complexMulti(cNumber_2).toString());

System.out.println(cNumber_1.toString() + " 乘 "
+ d + " 等于 "
+
cNumber_1.complexMulti(d).toString());
System.out.println();

System.out.println(cNumber_1.toString() + " 除 "
+ cNumber_2.toString() +
"等于"
+ cNumber_1.complexDivision(cNumber_2).toString());

System.out.println(cNumber_1.toString() + " 除 "
+ d + " 等于 "
+
cNumber_1.complexDivision(d).toString());
}
}
class
ComplexNumber
{
//域
private double m_dRealPart;
private double
m_dImaginPart;
//构造方法
ComplexNumber()
{
m_dRealPart = 0.0;

m_dImaginPart = 0.0;
}
ComplexNumber(double r,double i)
{

m_dRealPart = r;
m_dImaginPart = i;
}
ComplexNumber(ComplexNumber
c)
{
m_dRealPart = c.getRealPart();
m_dImaginPart =
c.getImaginaryPart();
}
//get,set方法
double getRealPart()
{

return m_dRealPart;
}
double getImaginaryPart()
{
return
m_dImaginPart;
}
void setRealPart(double d)
{
m_dRealPart =
d;
}
void setImaginaryPart(double d)
{
m_dImaginPart =
d;
}
//复数运算方法
//加
ComplexNumber complexAdd(ComplexNumber
c)
{
return new ComplexNumber(
this.m_dRealPart +
c.getRealPart(),
this.m_dImaginPart +
c.getImaginaryPart());
}
ComplexNumber complexAdd(double c)
{

return new ComplexNumber(
this.m_dRealPart + c,
this.m_dImaginPart);
}
//减
ComplexNumber complexMinus(ComplexNumber
c)
{
return new ComplexNumber(
this.m_dRealPart -
c.getRealPart(),
this.m_dImaginPart -
c.getImaginaryPart());
}
ComplexNumber complexMinus(double c)
{

return new ComplexNumber(
this.m_dRealPart - c,
this.m_dImaginPart);
}
//乘
ComplexNumber complexMulti(ComplexNumber
c)
{
return new ComplexNumber(
this.m_dRealPart * c.getRealPart()

- this.m_dImaginPart * c.getImaginaryPart(),
this.m_dRealPart *
c.getImaginaryPart()
+ this.m_dImaginPart *
c.getRealPart());
}
ComplexNumber complexMulti(double c)
{
return
new ComplexNumber(
this.m_dRealPart * c, this.m_dImaginPart *
c);
}
//除
ComplexNumber complexDivision(ComplexNumber c){
return
new ComplexNumber((this.m_dRealPart*c.getRealPart()

+this.m_dImaginPart*c.getImaginaryPart())

/(c.getRealPart()*c.getRealPart()+c.getImaginaryPart()*c.getImaginaryPart()),

(this.m_dImaginPart*c.getRealPart()

-this.m_dRealPart*c.getImaginaryPart())

/(c.getRealPart()*c.getRealPart()+c.getImaginaryPart()*c.getImaginaryPart()));

}
ComplexNumber complexDivision(double c){
return new
ComplexNumber(this.m_dRealPart/c,this.m_dImaginPart/c);
}
//toString()
public
String toString()
{
return "(" + m_dRealPart + " + "
+
m_dImaginPart + " i" + ")";
}
}本回答被网友采纳
第2个回答  2008-10-08
这么一大堆.你给5分.行.你就等着吧.