描述
創建一個復數類Complex,用來執行復數的算數運算,並編寫一個程序來測試該類。 (1)該類有兩個成員變量,即實部(realPart)和虛部(imaginaryPart),均為實數類型 (2)定義一個構造函數,用來對類的對象進行初始化,構造函數的函數原理為: Complex(double realPart,double imaginaryPart); (3)定義一個add成員函數,實現兩個復數的加法 Complex add(Complex); (4)定義一個sub成員函數,實現兩個復數的減法 Complex sub(Complex); (5)定義一個mul成員函數,實現兩個復數的乘法 Comple mul(Complex); (6)定義一個div成員函數,實現兩個復數的除法 Complex div(Complex); (7)定義一個print成員函數,打印當前復數運算結果,打印格式為:3.0+2.0i或-3.0-2.0i 測試用的main函數如下: public static void main(String[] a) {
|
輸入
輸入占1行,分別是4個整數,用來構造兩個復數 |
輸出
輸出占4行,分別為兩個復數運算后的結果。 |
難度
入門 |
輸入示例
3 4 1 -2 |
輸出示例
4.0+2.0i |
import java.util.Scanner; public class Complex { double realPart; double imaginaryPart; public static void main(String[] a) { Scanner input = new Scanner(System.in); int x1,y1,x2,y2; x1=input.nextInt(); y1=input.nextInt(); x2=input.nextInt(); y2=input.nextInt(); Complex c1 = new Complex(x1, y1); Complex c2 = new Complex(x2, y2); Complex c3=c1.add(c2); Complex c4=c1.sub(c2); Complex c5=c1.mul(c2); Complex c6=c1.div(c2); c3.print(); c4.print(); c5.print(); c6.print(); } public double getRealPart() { return realPart; } public void setRealPart(double realPart) { this.realPart = realPart; } public double getImaginaryPart() { return imaginaryPart; } public void setImaginaryPart(double imaginaryPart) { this.imaginaryPart = imaginaryPart; } private void Complex(double realPart,double imaginaryPart){ // 供不帶參數的構造方法調用 this.realPart=realPart; this.imaginaryPart=imaginaryPart; } Complex(double realPart, double imaginaryPart){ this.realPart=realPart; this.imaginaryPart=imaginaryPart; } Complex add(Complex a) { double real2 = a.getRealPart(); double image2 = a.getImaginaryPart(); double newReal = realPart + real2; double newImage = imaginaryPart + image2; Complex result = new Complex(newReal, newImage); return result; } Complex sub(Complex a){ double real2 = a.getRealPart(); double image2 = a.getImaginaryPart(); double newReal = realPart - real2; double newImage = imaginaryPart - image2; Complex result = new Complex(newReal,newImage); return result; } Complex mul(Complex a) { double real2 = a.getRealPart(); double image2 = a.getImaginaryPart(); double newReal = realPart*real2 - imaginaryPart*image2; double newImage = imaginaryPart*real2 + realPart*image2; Complex result = new Complex(newReal, newImage); return result; } Complex div(Complex a) { double real2 = a.getRealPart(); double image2 = a.getImaginaryPart(); double newReal = (realPart*real2 + imaginaryPart*image2)/(real2*real2 + image2*image2); double newImage = (imaginaryPart*real2 - realPart*image2)/(real2*real2 + image2*image2); Complex result = new Complex(newReal, newImage); return result; } public void print() { if (imaginaryPart > 0) { System.out.println(realPart + "+" + imaginaryPart + "i"); } else if (imaginaryPart < 0) { System.out.println(realPart + "" + imaginaryPart + "i");//注意! } else { System.out.println(realPart); } } }