java课程设计模拟计算器.docxVIP

  • 12
  • 0
  • 约7.94千字
  • 约 15页
  • 2017-06-27 发布于浙江
  • 举报
java课程设计模拟计算器

一、课设内容模拟计算器:设计实现一个模拟计算器,能进行整数的加、减、乘、除等四则运算。二、需求分析如题,要求能实现整数的加、减、乘、除等四则运算,我在这个基础上,添加了其他一些常用的功能,如实现百分号%、进行开根号运算、进行1/x运算、以及最小化到托盘。三.总体设计要实现该计算器,主要有两个主要模块,第一个是界面模块用于设计计算器的图形界面,第二个是功能模块用于实现计算器的基本功能。界面模块中除了设计图形界面,还需为各数字、功能按钮及显示框实现监听事物的能力。功能模块中编写事件处理函数,用于实现计算器的功能。因为我还实现了最小化到托盘的程序,所以我用了另一个类写最小化到托盘的程序。四.详细设计4.1 JCalcultor类4.1.1成员变量:JButton[] buttons 用于实现各数字及功能模块的定义。JButton reset用于实现“清零”功能。JTextField display 定义显示框。Int I 用于循环定义各按钮。booleanisFirstDigit用于设置第一个数的输入。double number 用于保存输入的数字。 String operator用于保存输入的按钮。4.1.2成员函数:publicJCalculator()构造函数。publicvoidactionPerformed(ActionEvent e)事件处理函数。 Object target = e.getSource(); target为得到点击的是什么。 String label = e.getActionCommand();if (target == reset)处理各按钮的事件。handleReset();elseif (0123456789..indexOf(label) 0)handleNumber(label);elsehandleOperator(label);public void handleReset()处理点击reset按钮是索要发生的事。display.setText(0);isFirstDigit = true;operator = =;public void handleOperator(String key)处理点击各操作按钮是所要发生的事。 if (operator.equals(+))采用if选择结构。number += Double.valueOf(display.getText());else if (operator.equals(-))number -= Double.valueOf(display.getText());else if (operator.equals(*))number *= Double.valueOf(display.getText());else if (operator.equals(/))number /= Double.valueOf(display.getText());else if (operator.equals(=))number = Double.valueOf(display.getText());else if (operator.equals(%)){number = 0.01*Double.valueOf(display.getText()); }else if (operator.equals(equl)){number = Math.sqrt(Double.valueOf(display.getText())); else if (operator.equals(1/x)){number = 1/ Double.valueOf(display.getText());}public void handleNumber(String key)处理点击各数字按钮时所要发生的事。四.调试分析4.1 界面问题一开始,我只采用了一个panel,后来发现界面容易出错,易被打乱,于是我将各数字和功能按钮放在panel1上,将显示框和清零按钮放在panel2上,再将两个panel放在panel3上,最后将panel放在frame上,从而使界面简洁美观稳定。4.2 功能按钮连续按两下才能实现功能问题原来写的代码是这样,导致按钮必须连续按两下才能实现功能elseif (operator.equals(1/x)){number = Double.valueOf(display.getText());number = 1/number ;发现问题后,我将其改成number = 1/Double.valueOf(display.getText());即两句合并成为一句。4.

文档评论(0)

1亿VIP精品文档

相关文档