1.團隊課程設計博客鏈接
http://www.cnblogs.com/yuanj/p/7072137.html
2.個人負責模塊或任務說明
- 確定課題並進行任務分工
- 編寫計算器刪除,清零,清空,小數點,取±運算的實現代碼
- 編寫四則運算的實現代碼
3.自己的代碼提交記錄截圖
4.自己負責模塊或任務詳細說明
4.1計算器刪除,清零,清空,小數點,取±運算
-
效果截圖
-
關鍵代碼
private class OperationMouseListener implements MouseListener{
public void mouseClicked(MouseEvent e) {
if(e.getSource() == backspace){//退格鍵,刪除一個直到沒有字符刪除
String inputText = input.getText();
if(inputText.length() > 0){
input.setText(inputText.substring(0, inputText.length() - 1));
}
}else if(e.getSource() == neg){
String text = input.getText().trim();
if(text.contains("-")){
input.setText(text.substring(1,text.length()));
}else{
input.setText( "-" + text);
}
}
else if(e.getSource() == C){
input.setText("0");//C,清空所有運算數字和符號
num1 = "";
}else if(e.getSource() == CE){
input.setText("0");//CE-->將文本框置為0
}else if(e.getSource() == decimal){
String text = input.getText().trim();
//如果按了小數點,如果文本框已經有小數點,不做任何操作,否則在結果后面加上小數點
if(text.indexOf(".") == -1){
input.setText(text.concat("."));
}
}
試驗簡述:
用.getText();
函數來獲取按鍵上的信息,用.setText();
函數來講結果顯示在文本框里;用if語句來判斷各種情況,執行相應的語句。
4.2 四則運算
-
效果截圖
-
關鍵代碼
else if(e.getSource() == equal){
//如果是等號
if(!operator.trim().equals("")){
if(!input.getText().trim().equals("")){
double result = 0D;
if(operator.equals("+")){//執行加法運算
result = Double.parseDouble(num1) + Double.parseDouble(input.getText().trim().substring(input.getText().trim().indexOf("+") + 1));
}else if(operator.equals("-")){//減法運算
result = Double.parseDouble(num1) - Double.parseDouble(input.getText().trim().substring(input.getText().trim().indexOf("-") + 1));
}else if(operator.equals("*")){//乘法運算
result = Double.parseDouble(num1) * Double.parseDouble(input.getText().trim().substring(input.getText().trim().indexOf("*") + 1));
}else if(operator.equals("/")){//除法運算
result = Double.parseDouble(num1) / Double.parseDouble(input.getText().trim().substring(input.getText().trim().indexOf("/") + 1));
}
//格式化最終結果,保留兩位小數點
input.setText(new DecimalFormat("0.00").format(result));
}
}
}
}
}
試驗簡述:
先兩個if語句判斷,當文本框里有字符串,且運算符號不為空時,執行四則運算;用Double.parseDouble()
語句講字符串強制轉化成Double型;用.substring();
來截取運算符號后面的字符;用DecimalFormat("0.00").format(result));
將運算結果的小數位固定位2位數。
5.課程設計的感想
雖然我們的程序比較簡單,但是完成的過程中還是學到很多,不斷的完善的過程中發現新的不足和bug,再加以改進。