用JAVA se实现声明附注类complex成员变量包括实部和虚部成员方法包括实现由字符串构造附属复数加法减法字符串描述比较相等计算复数的模等操作
时间: 2024-02-16 21:05:29 浏览: 81
好的,下面是在Java中实现complex附属类的代码:
```java
public class Complex {
private double real; // 实部
private double imag; // 虚部
public Complex(double real, double imag) {
this.real = real;
this.imag = imag;
}
public Complex(String s) {
// 从字符串中解析出实部和虚部
Pattern pattern = Pattern.compile("([-+]?\\d+(\\.\\d+)?)\\s*([-+])\\s*([-+]?\\d+(\\.\\d+)?)i");
Matcher matcher = pattern.matcher(s);
if (matcher.matches()) {
real = Double.parseDouble(matcher.group(1));
imag = Double.parseDouble(matcher.group(3) + matcher.group(4));
}
}
public Complex add(Complex c) {
return new Complex(real + c.real, imag + c.imag);
}
public Complex subtract(Complex c) {
return new Complex(real - c.real, imag - c.imag);
}
public double abs() {
return Math.sqrt(real * real + imag * imag);
}
public boolean equals(Complex c) {
return real == c.real && imag == c.imag;
}
public String toString() {
return String.format("%.2f%s%.2fi", real, imag >= 0 ? "+" : "-", Math.abs(imag));
}
}
```
在上面的代码中,我们定义了一个Complex附属类,它包含了实部和虚部成员变量。构造函数有两个,一个是通过实部和虚部构造,一个是通过字符串构造。add()和subtract()方法分别实现了复数的加法和减法。abs()方法用来计算复数的模。equals()方法用来比较两个复数是否相等。toString()方法用来将复数转换成字符串描述。
阅读全文