因標題框有限,題目未顯示完整,以下再放一份:
定義一個復數(z=x+iy)類Complex,包含:
兩個屬性:實部x和虛部y
默認構造函數 Complex(),設置x=0,y=0
構造函數:Complex(int i,int j)
顯示復數的方法:showComp()將其顯示為如: 5+8i或5-8i 的形式。
求兩個復數的和的方法:(參數是兩個復數類對象,返回值是復數類對象)public Complex addComp(Complex C1,Complex C2)
求兩個復數的差的方法:(參數是兩個復數類對象,返回值是復數類對象)public Complex subComp(Complex C1,Complex C2)
求兩個復數的乘積的方法:(參數是兩個復數類對象,返回值是復數類對象,新復數實部=兩復數實部乘積-兩復數虛部乘積,新復數虛部=兩復數實部與虛部交叉乘積之和,)public Complex multiComp(Complex C1,Complex C2)
比較兩個復數是否相等的方法(參數是兩個復數類對象,返回值是boolean類型)public boolean equalComp(Complex C1,Complex C2)
在Application中測試該類的方法,實部x和虛部y可由main方法參數提供輸入。
與上題如出一轍.
用到:1.對象作形參;2.Scanner類;
以下是具體代碼(將進行具體分析):
1 import java.util.Scanner; 2 class Complex{ 3 public int x; 4 public int y; 5 Complex(){ 6 x=0; 7 y=0; 8 } 9 Complex(int i,int j){ 10 x=i; 11 y=j; 12 } 13 public void showComp(){ //控制顯示格式 14 if(y>=0) 15 System.out.println(x+"+"+y+"i"); 16 else 17 System.out.println(x+"-"+(-y)+"i"); 18 } 19 static Complex addComp(Complex C1,Complex C2){ //復數相加 注意:同上題,函數返回值類型是對象;對象作形參; 20 Complex C=new Complex(); 21 C.x=C1.x+C2.x; 22 C.y=C1.y+C2.y; 23 return C; 24 } 25 static Complex subComp(Complex C1,Complex C2){ //復數相減 26 Complex C=new Complex(); 27 C.x=C1.x-C2.x; 28 C.y=C1.y-C2.y; 29 return C; 30 } 31 static Complex multiComp(Complex C1,Complex C2){ //復數相乘 32 Complex C=new Complex(); 33 C.x=C1.x*C2.x; 34 C.y=C1.y*C2.y; 35 return C; 36 } 37 static boolean equalComp(Complex C1,Complex C2){ //判斷復數是否相等 38 if(C1.x==C2.x&&C1.y==C2.y) 39 return true; 40 else 41 return false; 42 } 43 } 44 public class Test2_3{ 45 private static Scanner input; 46 public static void main(String args[]){ 47 input=new Scanner(System.in); 48 int i=input.nextInt(); //分別是兩個復數的x,y值 49 int j=input.nextInt(); 50 int m=input.nextInt(); 51 int n=input.nextInt(); 52 53 Complex C; //新建一個對象的引用,用於接受函數的返回的對象 54 Complex C1=new Complex(i,j); 55 Complex C2=new Complex(m,n); 56 boolean b; //用於接受判斷是否相等時返回的boolean值 57 58 C=Complex.addComp(C1,C2); 59 C.showComp(); 60 61 C=Complex.subComp(C1,C2); 62 C.showComp(); 63 64 C=Complex.multiComp(C1,C2); 65 C.showComp(); 66 67 b=Complex.equalComp(C1,C2); 68 if(b==true) 69 System.out.println("相等"); 70 else 71 System.out.println("不相等"); 72 } 73 }