JAVA程序设计 急要 谢谢~~~

编写一个完整的Java 程序,包括Complex和TestComplex两个类。
使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。
(1)复数类Complex必须满足如下要求:
①复数类Complex 的变量有:
realPart : 私有,int型,代表复数的实数部分
imaginPart : 私有,int型,代表复数的虚数部分
②复数类Complex 的方法有:
Complex( ) : 构造函数,将复数的实部和虚部都置0
Complex( int r , int i ) : 构造函数,用参数r设置实部的初值,用参数i设置虚部的初值。
void setRealPart(int r):设置实数部分
void setImaginPart(int i):设置虚数部分
int getRealPart ( ):返回实数部分
int getImaginPart ( ) :返回虚数部分
Complex complexAdd(Complex a) : 将当前复数对象与参数中的复数对象a相加,所得的结果仍是一个复数值,返回给此方法的调用者。
public String toString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式输出,其中a 和 b分别为实部和虚部的数据。
(2)TestComplex类
在TestComplex的main函数中,完成如下工作。
1)创建两个复数对象,分别表示1+2i和3+4i
2)得到一个新的复数对象,为上面两个复数对象的和。调用toString函数并打印加法表达式,例如 (1+2i)+(3+4i)=(4+6i)。
3)将第一个复数对象的实部和虚部分别改为2和3,将第二个复数对象的实部和虚部分别设为原来的2倍。得到一个新的复数对象,为上面两个复数对象的和,调用toString函数打印加法表达式。

第1个回答  2010-11-03
class Complex{
private int realPart;
private int imaginPart;
Complex(){
this.realPart = 0;
this.imaginPart = 0;
}
Complex(int realPart, int imaginPart){
this.realPart = realPart;
this.imaginPart = imaginPart;
}
public void setRealPart(int realPart){
this.realPart = realPart;
}
public void setImaginPart(int imaginPart){
this.imaginPart = imaginPart;
}
public int getRealPart(){
return this.realPart;
}
public int getImaginPart(){
return this.imaginPart;
}
Complex complexAdd(Complex a){
int realPart = this.realPart + a.getRealPart();
int imaginPart = this.imaginPart + a.getImaginPart();
return new Complex(realPart, imaginPart);
}
public String toString(){
if(this.imaginPart == 0) return "" + this.realPart;
else if(this.imaginPart > 0) return "" + this.realPart + "+" + this.imaginPart + "i";
else return "" + this.realPart + this.imaginPart + "i";
}
}
public class TestComplex{
public static void main(String[] args){
Complex a = new Complex(1,2);
Complex b = new Complex(3,4);
Complex sum = a.complexAdd(b);
System.out.println("(" + a + ")" + "+" + "(" + b + ")" + "=" + "(" + sum + ")");
a.setRealPart(2);
a.setImaginPart(3);
b.setRealPart(b.getRealPart() * 2);
b.setImaginPart(b.getImaginPart() *2);
sum = a.complexAdd(b);
System.out.println("(" + a + ")" + "+" + "(" + b + ")" + "=" + "(" + sum + ")");
}
}本回答被提问者采纳
第2个回答  2010-11-03
public class Complex
{
public int realPart;
public int imaginPart;
public Complex()
{
this.realPart = 0;
this.imaginPart = 0;
}
public Complex(int r, int i)
{
this.realPart = r;
this.imaginPart = i;
}
public Complex complexAdd(Complex a)
{
int realPartSum = this.realPart + a.realPart;
int imaginPartSum = this.imaginPart + a.imaginPart;
return new Complex(realPartSum, imaginPartSum);
}
public String toString()
{
return this.realPart + "+" + this.imaginPart + "i";
}
}
class TextComplex
{
public static void main(String args[])
{
Complex complex1 = new Complex(1, 2);
Complex complex2 = new Complex(3, 4);
System.out.println(complex1.complexAdd(complex2).toString());
System.out.println("("+complex1+")+("+complex2+")"+"=("+complex1.complexAdd(complex2).toString()+")");
Complex complex3=new Complex(2,3);
Complex complex4=new Complex(3*2,4*2);
System.out.println("("+complex3+")+("+complex4+")"+"=("+complex3.complexAdd(complex4).toString()+")");
}
}
相似回答