簡單的複數運算(類和物件)
阿新 • • 發佈:2018-11-06
Problem Description
設計一個類Complex,用於封裝對複數的下列操作:
成員變數:實部real,虛部image,均為整數變數;
構造方法:無參構造方法、有參構造方法(引數2個)
成員方法:含兩個複數的加、減、乘操作。
複數相加舉例: (1+2i)+(3+4i)= 4 + 6i
複數相減舉例: (1+2i)-(3+4i)= -2 - 2i
複數相乘舉例: (1+2i)*(3+4i)= -5 + 10i
要求:對複數進行連環運算。
Input
輸入有多行。
第一行有兩個整數,代表複數X的實部和虛部。
後續各行的第一個和第二個數表示複數Y的實部和虛部,第三個數表示操作符op: 1——複數X和Y相加;2——複數X和Y相減;3——複數X和Y相乘。
當輸入0 0 0時,結束運算,輸出結果。
Output
輸出一行。
第一行有兩個整數,代表複數的實部和虛部。
Sample Input
1 1
3 4 2
5 2 1
2 -1 3
0 2 2
0 0 0
Sample Output
5 -7
import java.util.*; public class Main { public static void main(String[] args) { Scanner reader=new Scanner(System.in); int a=reader.nextInt(); int b=reader.nextInt(); while(reader.hasNext()) { int c=reader.nextInt(); int d=reader.nextInt(); int e=reader.nextInt(); if(e==1) { a=a+c; b=b+d; } else if(e==2) { a=a-c; b=b-d; } else if(e==3) { int x=a*c-b*d; int y=c*b+a*d; a=x; b=y; } else if(c==0&&d==0&&e==0) { System.out.println(a+" "+b); break; } } reader.close(); } }
在e 等於3的時候,如果不用x,y進行替代傳出,將會是錯的,即:a=ac-bd; b=cb+ad;原因後一個a在用前一個a的時候已經改變啦!!!