Java 程序将两个复数相加.docx
Java编程语言支持对复数进行操作,这在处理数学问题或特定的科学计算时非常有用。复数由两部分组成:实部和虚部。在Java中,我们可以创建一个类来表示复数,并实现复数的基本运算,如加法。 在上述文档中,我们看到了一个名为`ComplexNumber`的类,它有两个整型变量`real`和`image`,分别存储复数的实部和虚部。这个类有一个构造函数,接受两个整数参数,分别用于初始化复数的实部和虚部。此外,还有一个`showC()`方法用于打印复数。 复数加法的逻辑是相当直观的。两个复数相加,就是将它们的实部相加得到新复数的实部,将它们的虚部相加得到新复数的虚部。因此,我们需要一个`add()`方法来执行这个操作。这个方法接受两个`ComplexNumber`对象作为参数,然后创建一个新的`ComplexNumber`对象`res`,将输入复数的实部和虚部相加,并将结果存储在`res`中。 `add()`方法的时间复杂度为O(1),因为它只涉及到基本的算术运算,没有循环或递归。同样,它所需的辅助空间也为O(1),因为只是创建了一个新的`ComplexNumber`对象来存储结果。 下面是实现复数加法的Java代码: ```java public class ComplexNumber { int real, image; public ComplexNumber(int r, int i) { this.real = r; this.image = i; } public void showC() { System.out.println(this.real + " + i" + this.image); } public static ComplexNumber add(ComplexNumber n1, ComplexNumber n2) { ComplexNumber res = new ComplexNumber(0, 0); res.real = n1.real + n2.real; res.image = n1.image + n2.image; return res; } } ``` 在上面的代码中,`add()`方法是静态的,这意味着可以直接在类上调用它,而无需创建`ComplexNumber`的实例。这种方法可以减少内存开销,特别是当处理大量复数运算时。 使用这个`ComplexNumber`类,你可以轻松地创建和相加复数。例如: ```java public static void main(String[] args) { ComplexNumber c1 = new ComplexNumber(3, 4); ComplexNumber c2 = new ComplexNumber(1, -2); ComplexNumber sum = ComplexNumber.add(c1, c2); System.out.println("Sum: "); sum.showC(); } ``` 这段代码会输出两个复数的和,即 `4 + i2`,这是将 `3 + i4` 和 `1 + i(-2)` 相加的结果。