Java课程设计——计算器

1.团队课程设计博客链接

http://www.cnblogs.com/yuanj/p/7072137.html

2.个人负责模块或任务说明

  • 确定课题并进行任务分工
  • 编写计算器删除,清零,清空,小数点,取±运算的实现代码
  • 编写四则运算的实现代码

3.自己的代码提交记录截图

Java课程设计——计算器_第1张图片

4.自己负责模块或任务详细说明

4.1计算器删除,清零,清空,小数点,取±运算

  • 效果截图
    Java课程设计——计算器_第2张图片
    Java课程设计——计算器_第3张图片
    Java课程设计——计算器_第4张图片
    Java课程设计——计算器_第5张图片
    Java课程设计——计算器_第6张图片

  • 关键代码
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 四则运算

  • 效果截图
    Java课程设计——计算器_第7张图片
    Java课程设计——计算器_第8张图片

  • 关键代码
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,再加以改进。

你可能感兴趣的:(Java课程设计——计算器)