java 定义一个复数类Complex,要求从键盘输入2个复数ab:a+bi和cd:c+di,例如:ab:6-8i和cd:-9+6i,程序名用自己姓名的汉语拼音缩写_Complex。 (1)显示这2个复数; (2)求两个复数的和,返回复数类对象; (3)求两个复数的差,返回复数类对象; (4)求两个复数的乘积,返回复数类对象;
时间: 2024-02-06 13:09:56 浏览: 134
以下是实现要求的Java代码:
```java
import java.util.Scanner;
public class ZJ_Complex {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 输入第一个复数
System.out.print("请输入第一个复数的实部:");
double a = input.nextDouble();
System.out.print("请输入第一个复数的虚部:");
double b = input.nextDouble();
Complex ab = new Complex(a, b);
// 输入第二个复数
System.out.print("请输入第二个复数的实部:");
double c = input.nextDouble();
System.out.print("请输入第二个复数的虚部:");
double d = input.nextDouble();
Complex cd = new Complex(c, d);
// 显示两个复数
System.out.println("第一个复数为:" + ab.toString());
System.out.println("第二个复数为:" + cd.toString());
// 求两个复数的和
Complex sum = ab.add(cd);
System.out.println("两个复数的和为:" + sum.toString());
// 求两个复数的差
Complex diff = ab.subtract(cd);
System.out.println("两个复数的差为:" + diff.toString());
// 求两个复数的乘积
Complex product = ab.multiply(cd);
System.out.println("两个复数的乘积为:" + product.toString());
}
}
class Complex {
private double real; // 实部
private double imag; // 虚部
// 构造方法
public Complex(double real, double imag) {
this.real = real;
this.imag = imag;
}
// 加法
public Complex add(Complex other) {
double realSum = real + other.real;
double imagSum = imag + other.imag;
return new Complex(realSum, imagSum);
}
// 减法
public Complex subtract(Complex other) {
double realDiff = real - other.real;
double imagDiff = imag - other.imag;
return new Complex(realDiff, imagDiff);
}
// 乘法
public Complex multiply(Complex other) {
double realProduct = real * other.real - imag * other.imag;
double imagProduct = real * other.imag + imag * other.real;
return new Complex(realProduct, imagProduct);
}
// toString()
public String toString() {
return real + (imag >= 0 ? "+" : "") + imag + "i";
}
}
```
运行示例:
```
请输入第一个复数的实部:6
请输入第一个复数的虚部:-8
请输入第二个复数的实部:-9
请输入第二个复数的虚部:6
第一个复数为:6.0-8.0i
第二个复数为:-9.0+6.0i
两个复数的和为:-3.0-2.0i
两个复数的差为:15.0-14.0i
两个复数的乘积为:-54.0-78.0i
```
阅读全文