System.out.print(values[i]+"");
}
}
运行结果:
2.设计一个复数类,要求:
(1)在复数内部用双精度浮点数定义其实部和虚部。
(2)实现3个构造函数:
第1个构造函数没有参数;第2个构造函数将双精度浮点数赋给复数的实部,虚部为0;第3个构造函数将两个双精度浮点数分别赋给复数的实部和虚部。
(3)编写获取和修改复数的实部和虚部的成员函数。
(4)编写实现复数的减法、乘法运算的成员函数。
设计一个测试主函数,使其实际运行验证类中各成员函数的正确性。
参考答案:
packagech01Exercise;
//复数类
classComplex{
privatedoublereal;//实部
privatedoubleimag;//虚部
//无参构造函数
publicComplex(){
this(0,0);
}
//带一个参数的构造函数
publicComplex(doublereal){
this(real,0);
}
//带两个参数的构造函数
publicComplex(doublereal,doubleimag){
this.real=real;
this.imag=imag;
}
publicdoublegetReal(){
returnreal;
}
publicvoidsetReal(doublereal){
this.real=real;
}
publicdoublegetImag(){
returnimag;
}
publicvoidsetImag(doubleimag){
this.imag=imag;
}
publicvoidadd(ComplexZ){
if(Z!
=null){
real+=Z.getReal();
imag+=Z.getImag();
}
}
//计算与另一复数的差,其中Z是减数
publicvoidminus(ComplexZ){
if(Z!
=null){
real-=Z.getReal();
imag-=Z.getImag();
}
}
//计算与另一复数的乘积,其中Z是乘数
publicvoidmultiply(ComplexZ){
if(Z!
=null){
doubletemp=(real*Z.getReal()-imag*Z.getImag());
imag=(real*Z.getImag()+imag*Z.getReal());
real=temp;
}
}
}
//测试类
publicclassExercise1_3_2{
publicstaticvoidmain(String[]args){
Complexc1=newComplex(2,3);
System.out.println("修改前c1的实部为:
"+c1.getReal()+"虚部为:
"+
c1.getImag());
c1.setReal
(1);
c1.setImag
(2);
System.out.println("修改后c1的实部为:
"+c1.getReal()+"虚部为:
"+
c1.getImag());
Complexc2=newComplex(4,5);
c1.add(c2);
System.out.println("执行加法运算后c1的实部为:
"+c1.getReal()+"虚部为:
"
+c1.getImag());
c1.minus(c2);
System.out.println("执行减法运算后c1的实部为:
"+c1.getReal()+"虚部为:
"
+c1.getImag());
c1.multiply(c2);
System.out.println("执行乘法运算后c1的实部为:
"+c1.getReal()+"虚部为:
"
+c1.getImag());
}
}
运行结果: