题目:
【问题描述】
创建一个复数类Complex,对复数进行数学运算,复数具有如下格式:realPart+imaginaryPart*i,其中,i为-1的平方根,具体要求如下:
(1)利用浮点变量表示此类的私有数据。提供两个构造方法,一个用于此类声明时对象的初始化;一个为带默认值得无参构造方法。
(2)提供两复数加、减、乘的运算方法。
(3)按格式(a,b)打印复数,其中a为实部,b为虚部。
【输入形式】
输入两个复数的实部和虚部,构造两个复数对象
【输出形式】
输出两个复数的相加、相减、相乘的结果
【样例输入】
input c1:
1 2
input c2:
3 4
【样例输出】
ComplexNumber a: 1.0 + 2.0i
ComplexNumber b: 3.0 + 4.0i
(a + b) = 4.0 + 6.0i
(a - b) = -2.0 + -2.0i
(a * b) = -5.0 + 10.0i
【样例说明】
输入和输出的格式要和指定格式严格匹配,否则不得分。
【评分标准】
结果完全正确得满分。
【备注】
从键盘读入double数据,可以用如下代码:
Scanner in = new Scanner(System.in);
double n = in.nextDouble();
使用Scanner类,需要导入import java.util.Scanner;
代码:
import java.util.Scanner;
public class Complex {
double a;
double b;
Complex(double a,double b){
this.a=a;
this.b=b;
}
Complex(){
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("input c1:");
Complex c1=new Complex(in.nextDouble(),in.nextDouble());
System.out.println("input c2:");
Complex c2=new Complex(in.nextDouble(),in.nextDouble());
System.out.println("ComplexNumber a: "+c1.a+" + "+c1.b+"i");
System.out.println("ComplexNumber b: "+c2.a+" + "+c2.b+"i");
System.out.println("(a + b) = "+(c1.a+c2.a)+" + "+(c1.b+c2.b)+"i");
System.out.println("(a - b) = "+(c1.a-c2.a)+" + "+(c1.b-c2.b)+"i");
System.out.println("(a * b) = "+(c1.a*c2.a-c1.b*c2.b)+" + "+(c1.a*c2.b+c1.b*c2.a)+"i");
}
}