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

posted @ 2017-06-24 00:36  原浆  阅读(3090)  评论(0编辑  收藏  举报