Java課程設計——計算器


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,再加以改進。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM