如何用一个变量来实现两复数的实部相加相减
,以及虚部的相加相减
1条回答 默认 最新
冰思雨 2021-11-01 10:56关注import java.math.BigDecimal; public class ComplexNumber { private final BigDecimal realPart; private final BigDecimal imaginaryPart; public ComplexNumber(BigDecimal realPart, BigDecimal imaginaryPart) { this.realPart = realPart; this.imaginaryPart = imaginaryPart; } public ComplexNumber(double realPart, double imaginaryPart) { this(BigDecimal.valueOf(realPart), BigDecimal.valueOf(imaginaryPart)); } public ComplexNumber(int realPart, int imaginaryPart) { this(BigDecimal.valueOf(realPart), BigDecimal.valueOf(imaginaryPart)); } public ComplexNumber add(ComplexNumber val) { return new ComplexNumber(realPart.add(val.realPart), imaginaryPart.add(val.imaginaryPart)); } public BigDecimal getRealPart() { return realPart; } public BigDecimal getImaginaryPart() { return imaginaryPart; } @Override public String toString() { if (realPart == BigDecimal.ZERO && imaginaryPart == BigDecimal.ZERO) { return "0"; } if (realPart != BigDecimal.ZERO && imaginaryPart != BigDecimal.ZERO) { return realPart + " + " + imaginaryPart + "i"; } return realPart == BigDecimal.ZERO ? imaginaryPart + "i" : String.valueOf(realPart); } public static void main(String[] args) { ComplexNumber x1 = new ComplexNumber(1, 2); ComplexNumber x2 = new ComplexNumber(3, 4); ComplexNumber x3 = x1.add(x2); System.out.println(x3); } }解决 无用评论 打赏 举报