仿Windows計算器--學習筆記

iteye_9578發表於2011-05-03

 在學習軟體程式設計的過程中,仿照別人做好的軟體從零開發是一個不錯的學習機會。

仿Window計算器的開發分為兩個部分,一部分是開發介面,另一部分是開發業務處理。介面部分使用Swing,介面的佈局可以參考Window計算器,有經驗的程式設計師可以通過巧妙地使用佈局管理器,輕易地安排佈局。
由於計算器上的按鈕比較多,可以將一類按鈕的建立封裝在一個獨立的方法中,把初始化計算器介面的部分也封裝在一個獨立的方法中,再為相應的方法加上註釋,使得程式碼簡明易讀。
在為按鈕定義事件監聽器時,呼叫業務處理部分。

業務處理部分需要注意的有:
1.在計算四則運算結果時,如果使用float和double兩種浮點基本型別來進行計算,容易損失精度,所以使用BigDecimal物件進行計算。
2.業務處理部分的難點在於,如何按照使用者給出的按鈕單擊事件來獲得運算元和操作符。
3.操作符有單目運算子、也有雙目運算子。從介面收集運算元時,要解決如何分辨從介面獲取到的是第一個運算元還是第二個運算元的問題。當獲取到的是數字時,說明是運算元;當獲取到的是雙目操作符時,說明下一次輸入的是第二個運算元;
4.在獲取運算元時,需要進行一系列字串的操作,有字串之間的比較,判斷字串的第一位是否是某個特定的字元,字串連線,把字串轉換為double型,把double型轉換為字串,取子串。

5.注意兩個用法:
增強FOR迴圈,JAVA5.0(jdk1.5)開始引進的新技術

//迭代增加按鈕
for(JButton b:mButton) panel1.add(b);

 三目運算子的使用,格式為“x?y:z”

//實現回退操作
return text.equals("0")||text.equals("")?"0":text.substring(0,text.length()-1);

相關文章