1、 JAVA 程序设计课程设计报告程序设计课程设计报告 简单计算器简单计算器 学学 号:号: 姓姓 名:名: 班班 级:级: 10 级计科一班级计科一班 指导教师:指导教师: 成成 绩:绩: 完成时间:完成时间: 2 一、一、 设计内容和要求设计内容和要求 1、简单计算器模拟程序的基本要求、简单计算器模拟程序的基本要求 模拟 Windows 中附件里面的计算器软件,能实现整数的加、减、乘、除四则 运算。 2、需要实现的主要功能、需要实现的主要功能 该计算器模拟程序使用 Java 的 awt 包和 Swing包的类库设计图形界面的计算 器显示用户界面并且使用图形界面中的事件 event 委托机制来
2、处理事件响应,以 及用 java 语言设计实现整数的加、减、乘、除四则运算。 (附加功能:清零和异 常处理机制) 二、二、 系统分析与概要设计系统分析与概要设计 1、面板、面板 JPanel txtpanel:用于放置文本框 Panel btnpanel: 用于放置按钮(0-9 和+,-,*,/,=) 2、显示部分、显示部分 (1)第一个面板:txtpanel 位置以及排列方式 BorderLayout.NORTH txtpanel.add(txtinput):添加文本框到 txtpanel 面板中 (2)第二个面板:btnpanel 排列方式:setLayout(gl) 3、基本按钮、基本按
3、钮 btnpanel.add(b7) btnpanel.add(b8) btnpanel.add(b9); btnpanel.add(multiply) btnpanel.add(b4) btnpanel.add(b5); btnpanel.add(b6) btnpanel.add(divide) btnpanel.add(b1); btnpanel.add(b2) btnpanel.add(b3) btnpanel.add(add); btnpanel.add(b0) .add(bdes) btnpanel.add(equal); btnpanel.add(subtract) 以上是在第二个
4、面板 btnpanelH 中添加的 0 到 9 和+,-,*,/,=的按钮。 3 4、附加功能、附加功能 (1) “清零” : 用于清空文本框和下一次的运算 (2) “异常处理” 除数为零:当除数为零时,弹出“除数不能为零”窗体 错误输入:当只单击运算符时,弹出“错误输入”窗体 三、三、 详细设计和编码详细设计和编码 1、总体功能图、总体功能图 4 1、类的定义及关系、类的定义及关系 Jsq 类继承 JFrame 类创建主界面, 在主界面上由文本框 JTextField 和 JButton 组件构成,JTextField 和 JButton 组件分别放置在两个不同的面板 JPanel 上,同
5、时利用按钮注册监听器,获取事件源。添加实现 0-9 和加、减、乘、除按钮并 实现四则运算并获得运算结果以及“清零”和“异常处理机制” 。 2、运行效果图、运行效果图 运行 输入计算的数值 单击运算符号,再单击等于 符号 单击运算符号,弹出一个消 息框,提醒错误 输出结果 Y N 5 3、源代码、源代码 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Calculator extends JFrame implements ActionListener JPanel txtpanel,b
6、tnpanel; JTextField txtinput; JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0,bdes,multiply,divide,add, subtract,clear,equal; GridLayout gl; double d1,d2; String s; public Calculator() super(“计算器“); txtpanel=new JPanel(); btnpanel=new JPanel(); 6 txtinput=new JTextField(25); txtinput.setEditable(false); txtinput.setHorizontalAlignment(JTextField.RIGHT); txtinput.setText(“); b1=new JButton(“1“); b2=new JButton(“2“);