7-2 sdut-oop-1 簡(jiǎn)單的復(fù)數(shù)運(yùn)算
設(shè)計(jì)一個(gè)類Complex,用于封裝對(duì)復(fù)數(shù)的下列操作:
成員變量:實(shí)部real,虛部image,均為整數(shù)變量;
構(gòu)造方法:無參構(gòu)造方法、有參構(gòu)造方法(參數(shù)2個(gè))
成員方法:含兩個(gè)復(fù)數(shù)的加、減、乘操作。
? ? 復(fù)數(shù)相加舉例: (1+2i)+(3+4i)= 4 + 6i
? ? 復(fù)數(shù)相減舉例: (1+2i)-(3+4i)= -2 - 2i
? ? 復(fù)數(shù)相乘舉例: (1+2i)*(3+4i)= -5 + 10i
要求:對(duì)復(fù)數(shù)進(jìn)行連環(huán)算術(shù)運(yùn)算。
提示:如果用PYTHON語言實(shí)現(xiàn),不必設(shè)計(jì)Complex類,可以使用內(nèi)置的復(fù)數(shù)數(shù)據(jù)類型,完成復(fù)數(shù)的算術(shù)運(yùn)算。
輸入格式:
輸入有多行。
第一行有兩個(gè)整數(shù),代表復(fù)數(shù)X的實(shí)部和虛部。
后續(xù)各行的第一個(gè)和第二個(gè)數(shù)表示復(fù)數(shù)Y的實(shí)部和虛部,第三個(gè)數(shù)表示操作符op: 1——復(fù)數(shù)X和Y相加;2——復(fù)數(shù)X和Y相減;3——復(fù)數(shù)X和Y相乘。
當(dāng)輸入0 0 0時(shí),結(jié)束運(yùn)算,輸出結(jié)果。
輸出格式:
輸出一行。
第一行有兩個(gè)整數(shù),代表復(fù)數(shù)的實(shí)部和虛部,實(shí)部和虛部之間用1個(gè)空格分開。
輸入樣例:
1? 1
3? 4? 2
5? 2? 1
2? -1? 3
0? 2? 2
0? 0? 0
輸出樣例:
5 -7
示例代碼
題目分析
題目比較簡(jiǎn)單,主要就是考察了Java的無參和有參構(gòu)造方法以及復(fù)數(shù)的運(yùn)算。
需要注意的點(diǎn)是,在Java中,如果沒有顯式定義構(gòu)造方法,編譯器會(huì)為類提供一個(gè)默認(rèn)的無參構(gòu)造方法。也就是說,如果你的類不需要做任何特殊的初始化或處理,你可以省略無參構(gòu)造方法的定義,直接使用默認(rèn)的構(gòu)造方法。但是,如果你已經(jīng)顯式地定義了一個(gè)或多個(gè)有參構(gòu)造方法,那么編譯器不會(huì)再提供默認(rèn)的無參構(gòu)造方法。這時(shí),如果你希望在代碼中創(chuàng)建一個(gè)沒有參數(shù)的實(shí)例,就必須顯式地提供一個(gè)無參構(gòu)造方法。