JAVA课程设计计算器.doc
《JAVA课程设计计算器.doc》由会员分享,可在线阅读,更多相关《JAVA课程设计计算器.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JAVA程序设计课程设计任务书一、课程设计的目的1、培养学生面向对象编程的思想;2、使学生熟悉JAVA语言的使用;3、培养学生JAVA编程的思想和方法;4、使学生掌握JAVA编程调试的基本技能;5、培养学生分析、解决问题的能力。二、课程设计内容与要求1、内容一:1简单计算器题目描述使用Java的GUI图形用户界面编程设计并编写一个计算器程序,用户可以通过鼠标或者键盘操作输入参加运算的数值和运算符,要求能进行加、减、乘、除等混合运算。基本要求实现加、减、乘、除的双目单类别的基础运算;实现提示GUI编程 Component的事件响应。参考界面JAVA程序设计课程设计一、系统中所使用的数据对象及说明
2、1、Calculator类属性属性名称类型描述JmbJMenuBar菜单栏Jm1 jm2 jm3 JMenu 菜单JmiJMenuItem菜单项fJFrame 实例化对象Panel1 1JPanel 输入面板CommandsPanelJPanel 运算符面板calckeysPanelJPanel 数字面板showline JTextField 数据输出框backspace JButton 退格键CE JButton 清空C JButton 删除1/XJButton 取余dao JButton 取倒数add JButton 数字相加jian JButton 数字相减cheng JButton 数
3、字相乘quzheng JButton 数字相除dian JButton 点符号deng JButton 等于号zero JButton 一one JButton 二two JButton 三three JButton 四four JButton 五five JButton 六six JButton 七seven JButton 八eight JButton 九num1 String保存第一个运算数字operator String保存运算符号方法方法名称功能Calculator计算器布局Add添加组件、面板addMouseListener添加鼠标监听事件setJMenuBar设置菜单二、 系统功
4、能结构及相关算法描述1、系统功能结构 计算器按键文本框菜单栏标题栏1-9、BackspaceCE、C+、-、*、/%、.、1/x=文本框帮助查看编辑标题:计算器关于计算器帮助主题数学分组科学型标准型粘贴复制系统功能结构图2、 相关算法流程图(1)加减法流程NY将S添加到show文本框执行加、减法运算得出SMun1是否存在(2) 乘除法流程NMun1是否存在Y执行乘、除法运算得出S将S添加到show文本框(3) 乘方取余法流程Mun1是否存在NY执行乘方、取余法运算得出S将S添加到show文本框三、系统运行结果(截图)1、主菜单四、课程设计总结通过此次课程设计,使我更加扎实的掌握了有关JAVA图
5、形界面布局等方面的知识,虽然在设计过程中也遇到了很多问题,但经过一次又一次的思考,一遍又一遍检查和反复修改终于找到了原因所在,也暴露了前期我在这方面的知识欠缺。课程设计是一种实践活动,不但可以提升专业知识和专业能力,也培养了我们独立思考,动手操作的能力,使我对抽象的知识有了具体的认识。这对于我们的将来也有很大的帮助。此次课程设计也让我明白没有最完善的程序代码,只有不断地改善才能使程序变得更完美,同时也增强了我对JAVA的兴趣,相信继续保持下去对JAVA的理解一定会更上一层楼。附录:程序源码import java.awt.BorderLayout;import java.awt.Color;im
6、port java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JSeparator;import javax
7、.swing.JTextField; public class Calculator extends JFrame implements ActionListener JMenuBar jmb; JMenu jm1,jm2,jm3; JMenuItem jmi; /* 计算器上的键的显示名字 */ private final String KEYS = 7, 8, 9, /, sqrt, 4, 5, 6, *, %, 1, 2, 3, -, 1/x, 0, +/-, ., +, = ; /* 计算器上的功能键的显示名字 */ private final String COMMAND = Bac
8、kspace, CE, C ; /* 计算器上键的按钮 */ private JButton keys = new JButtonKEYS.length; /* 计算器上的功能键的按钮 */ private JButton commands = new JButtonCOMMAND.length; /* 计算器左边的M的按钮 */ /* 计算结果文本框 */ private JTextField resultText = new JTextField(0); / 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字 private boolean firstDigit = tr
9、ue; / 计算的中间结果。 private double resultNum = 0.0; / 当前运算的运算符 private String operator = =; / 操作是否合法 private boolean operateValidFlag = true; /* * 构造函数 */ public Calculator() super(); JMenuBar jmb=new JMenuBar();this.setJMenuBar(jmb);JMenu jm=new JMenu(编辑(E);jmb.add(jm);jmi= new JMenuItem(复制(c) Ctrl+c);j
10、m.add(jmi);jmi= new JMenuItem(粘贴(p) Ctrl+v);jm.add(jmi);jm2=new JMenu(查看(v);jmb.add(jm2);jmi= new JMenuItem(标准型(T);jm2.add(jmi);jmi= new JMenuItem(科学型(S);jm2.add(jmi);jm2.add(new JSeparator();jmi= new JMenuItem(数学分组(I);jm2.add(jmi);jm3=new JMenu(帮助(H);jmb.add(jm3);jmi= new JMenuItem(帮助主题(H);jm3.add(
11、jmi);jm3.add(new JSeparator();jmi= new JMenuItem(关于计算器(A);jm3.add(jmi); / 初始化计算器 init(); / 设置计算器的背景颜色 this.setBackground(Color.LIGHT_GRAY); this.setTitle(计算器); / 在屏幕(500, 300)坐标处显示计算器 this.setLocation(500, 300); / 不许修改计算器的大小 this.setResizable(false); / 使计算器中各组件大小合适 this.pack(); /* * 初始化计算器 */ privat
12、e void init() / 文本框中的内容采用右对齐方式 resultText.setHorizontalAlignment(JTextField.RIGHT); / 不允许修改结果文本框 resultText.setEditable(false); / 设置文本框背景颜色为白色 resultText.setBackground(Color.WHITE); / 初始化计算器上键的按钮,将键放在一个面板内 JPanel calckeysPanel = new JPanel(); / 用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素 calckeysPa
13、nel.setLayout(new GridLayout(4, 5, 3, 3); for (int i = 0; i KEYS.length; i+) keysi = new JButton(KEYSi); calckeysPanel.add(keysi); keysi.setForeground(Color.blue); / 运算符键用红色标示,其他键用蓝色表示 keys3.setForeground(Color.red); keys8.setForeground(Color.red); keys13.setForeground(Color.red); keys18.setForegrou
14、nd(Color.red); keys19.setForeground(Color.red); / 初始化功能键,都用红色标示。将功能键放在一个面板内 JPanel commandsPanel = new JPanel(); / 用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素 commandsPanel.setLayout(new GridLayout(1, 3, 3, 3); for (int i = 0; i COMMAND.length; i+) commandsi = new JButton(COMMANDi); commandsPanel.a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程设计 计算器
限制150内