JAVA保存计算过程的计算器课程设计报告.doc_第1页
JAVA保存计算过程的计算器课程设计报告.doc_第2页
JAVA保存计算过程的计算器课程设计报告.doc_第3页
JAVA保存计算过程的计算器课程设计报告.doc_第4页
JAVA保存计算过程的计算器课程设计报告.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

保存计算过程的保存计算过程的 java 计算器计算器 目目 录录 1 概 述 1 1 1 课程设计目的 1 1 2 课程设计内容 1 2 系统需求分析 1 2 1 系统目标 1 2 2 主体功能 1 2 3 开发环境 1 3 系统概要设计 1 3 1 系统的功能模块划分 1 3 2 系统流程图 2 4 系统详细设计 2 5 测试 6 5 1 测试方案 6 5 2 测试结果 6 6 小结 6 参考文献 8 附 录 9 附录 1 源程序清单 9 永磁同步电机双环调速系统的仿真研究 0 1 1 概概 述述 1 11 1 课程设计目的课程设计目的 1 掌握 JAVA 语言编程的基础知识并能熟练运用 2 熟悉类声明与对象的使用 3 理解委托时间处理模型 4 了解 JAVA 语言的图形用户界面 JAVAS WING 的设计知识 5 运用 JAVA SWING 编写简单计算器程序 并实现其功能 1 21 2 课程设计内容课程设计内容 设计 GUI 界面的计算机程序 用户可以通过鼠标依次输入参加计算的数值 进行加 减 乘 除 等混合运算 2 系统需求分析系统需求分析 2 12 1 系统目标系统目标 一个简单的计算器程序 用户可以利用鼠标点击数值或操作符按键完成计算的 输入 计算的结果将被显示在窗口上部的文本框中 2 22 2 主体功能主体功能 1 按下数字键在文本框上会显示数字 这是计算器最基本的功能 2 在任何时候按下 键 计算器文本框上的数字置反 3 上面一个文本框显示计算过程 下面一个文本框显示输入的数字 4 当按下的运算符号时前面已经按下过运算符号时 下面一个文本框显示上一个 运算符号以及两个数之间的运算结果 5 按下清除 C 键 数据被全部清除 2 32 3 开发环境开发环境 JDK 3 3 系统概要设计系统概要设计 3 13 1 系统的功能模块划分系统的功能模块划分 1 1 主界面模块 2 事件相应模块 保存计算过程的计算器 1 3 23 2 系统流程图系统流程图 4 系统详细设计系统详细设计 1 主界面模块详细设计 顶层容器 ComputerPad 类实现主窗口 顶层容器中包含了 1 个 panel 容器 1 个 resultshow 文本框 1 个 process 文本框 各组件作用 其中 panel 容器用于放数字按钮 小数点 运算符按钮 清零按 钮 正负转换按钮以及退格按钮 两个文本框一个用于显示输入数据和计算结果 另一个用于显示计算过程 布局方式 顶层容器用 BroadLayOut 布局 process 和 resultshow 文本框以及 panel 容器分别放在定岑容器的 noth center 以及 south 面 panel 容器 用 GridLayOut 布局 部分代码如下 数字按钮类 实现数字按钮的定义 public class NumberButton extends Button 运算符按钮类 实现运算符号的定义 public class OperationButton extends Button 主窗口类实现监视器的注册 窗口布局 组件颜色大小等的设置 public class ComputerPad extends Frame implements ActionListener NumberButton numberButton OperationButton oprationButton 永磁同步电机双环调速系统的仿真研究 2 Button 小数点按钮 正负号按钮 退格按钮 求倒数按钮 等号按钮 清零按钮 Panel panel JTextField resultShow JTextField process String 运算符号 LinkedList 链表 boolean 是否按下等号 false public ComputerPad super 计算器 链表 new LinkedList 进行组件的声明 初始化设置 注册监视器 numberButton new NumberButton 10 for int i 0 i 9 i numberButton i new NumberButton i numberButton i addActionListener this oprationButton new OperationButton 4 for int i 0 i 4 i oprationButton i new OperationButton 运算符号 i oprationButton i addActionListener this 小数点按钮 new Button 正负号按钮 new Button 等号按钮 new Button 求倒数按钮 new Button 1 x 退格按钮 new Button 退格 清零按钮 new Button C 清零按钮 setForeground Color red 退格按钮 setForeground Color red 等号按钮 setForeground Color red 求倒数按钮 setForeground Color blue 正负号按钮 setForeground Color blue 小数点按钮 setForeground Color blue 退格按钮 addActionListener this 清零按钮 addActionListener this 等号按钮 addActionListener this 小数点按钮 addActionListener this 正负号按钮 addActionListener this 求倒数按钮 addActionListener this 对显示过程的文本框进行设置 process new JTextField 10 process setHorizontalAlignment JTextField LEFT 保存计算过程的计算器 3 process setForeground Color blue process setFont new Font TimesRoman Font PLAIN 14 process setBorder new SoftBevelBorder BevelBorder LOWERED process setBackground Color white process setEditable false 对显示输入值以及运算结果的文本框进行设置 resultShow new JTextField 10 resultShow setHorizontalAlignment JTextField RIGHT resultShow setForeground Color blue resultShow setFont new Font TimesRoman Font PLAIN 14 resultShow setBorder new SoftBevelBorder BevelBorder LOWERED resultShow setBackground Color white resultShow setEditable false 进行主窗口布局 panel new Panel panel setLayout new GridLayout 5 4 Panel add 清零按钮 Panel add 退格按钮 panel add numberButton 1 panel add numberButton 2 panel add numberButton 3 Panel add numberButton 4 panel add numberButton 5 panel add numberButton 6 Panel add numberButton 7 panel add numberButton 8 panel add numberButton 9 Panel add numberButton 0 Panel add oprationButton 0 panel add oprationButton 1 panel add oprationButton 2 panel add oprationButton 3 panel add 求倒数按钮 panel add 正负号按钮 panel add 小数点按钮 Panel add 等号按钮 add panel BorderLayout SOUTH add resultShow BorderLayout CENTER add process BorderLayout NORTH addWindowListener new WindowAdapter public void windowClosing WindowEvent e System exit 0 setVisible true setBounds 100 50 170 190 setResizable false validate 永磁同步电机双环调速系统的仿真研究 4 2 事件响应模块详细设计 模块功能 事件响应模块用于实现数据输入 保存 运算以及显示 具体实现 将主窗口作为窗口中所有组件的监视器 链表用来存储输入的数 字以及操作符以便运算时提取出来 监视器用 if else if 语句 分数字按钮 小数 点 运算符按钮 清零按钮 正负转换按钮以及退格按钮 6 种情况进行相应处理 其中除了清零按钮每种情况又分成链表长度为 1 2 3 作相应的处理 事件响应模块的框架代码如下 public void actionPerformed ActionEvent e 按下数字按钮时的事件处理 if e getSource instanceof NumberButton NumberButton b NumberButton e getSource if 链表 size 0 else if 链表 size 1 if 链表 size 1 else if 链表 size 2 else if 链表 size 3 按下等号后的事件处理 else if e getSource 等号按钮 是否按下等号 true if 链表 size 1 链表 size 2 else if 链表 size 3 按下小数点后的事件处理 else if e getSource 小数点按钮 if 链表 size 0 else if 链表 size 1 else if 链表 size 3 按下退格键后的事件处理 else if e getSource 退格按钮 if 链表 size 1 保存计算过程的计算器 5 else if 链表 size 3 按下正负号后的事件处理 else if e getSource 正负号按钮 if 链表 size 1 else if 链表 size 3 按下求倒数按钮后的事件处理 else if e getSource 求倒数按钮 if 链表 size 1 链表 size 2 else if 链表 size 3 按下清零按钮后的事件处理 else if e getSource 清零按钮 5 测试测试 5 15 1 测试方案测试方案 进行各种情况的输入检测进行加 减 乘 除运算 数字很大 小数 整数以 及先按下 等非法输入情况 5 2 测试结果测试结果 程序正常的响应按钮事件 能显示计算过程 当运算结果很大时用科学记数法显 示运算结果 永磁同步电机双环调速系统的仿真研究 6 6 小结小结 在做本项目是时候 会遇到很多问题 最大的问题的如何保存已经输入的数 字或者符号进行运算 如何显示运算过程 经过多次研究和查询发现运可以运用 链表进行存储和提取数据 用栈也是可以的 此次课程设计让我更了解熟悉了 Java 中的图形用户界面和它的编程方式 在 完成课题的过程中也不断充实了自己 学习到了很多以前没有学习到的知识 收 获很大 最大的收获是在弯完成过程中培养的解决问题的能力 在做项目时必然 会遇到困难 会有不会的东西 重要的不是现在会不会 而是遇到问题知道如何 找到解决的途径 还使我对所学知识能够融会贯通 又不断丰富了新知识 Java 计算器设计使得我们对所学的专业课有了更为深刻的认识 使得知识得到了巩固 和提高 保存计算过程的计算器 7 参考文献参考文献 1 耿祥义 张跃平 Java2 实用教程 第三版 M 北京 清华大学出版社 2006 2 耿祥义 Java 课程设计 第三版 M 北京 清华大学出版社 2004 3 张跃平 Java2 实用教程实验指导与习题解答 第三版 M 北京 清华大学 出版社 2004 永磁同步电机双环调速系统的仿真研究 8 附附 录录 附录附录 1 1 源程序清单源程序清单 NumberButton javaNumberButton java import java awt import java awt event import javax swing public class NumberButton extends Button int number public NumberButton int number super number this number number setForeground Color blue public int getNumber return number OperateButton javaOperateButton java import java awt import java awt event import javax swing public class OperationButton extends Button String 运算符号 public OperationButton String s super s 运算符号 s setForeground Color red public String get 运算符号 return 运算符号 ComputerPad javaComputerPad java import java awt import java awt event import javax swing import javax swing border import java util LinkedList import java text NumberFormat 保存计算过程的计算器 9 public class ComputerPad extends Frame implements ActionListener NumberButton numberButton OperationButton oprationButton Button 小数点按钮 正负号按钮 退格按钮 求倒数按钮 等号按钮 清零按钮 Panel panel JTextField resultShow JTextField process String 运算符号 LinkedList 链表 boolean 是否按下等号 false public ComputerPad super 计算器 链表 new LinkedList numberButton new NumberButton 10 for int i 0 i 9 i numberButton i new NumberButton i numberButton i addActionListener this oprationButton new OperationButton 4 for int i 0 i 1 num num substring 0 num length 1 链表 set 0 num resultShow setText num process setText String 链表 get 0 else 链表 removeLast resultShow setText 0 else if 链表 size 3 String num String 链表 getLast if num length 1 num num substring 0 num length 1 链表 set 2 num resultShow setText num process setText String 链表 get 0 String 链表 get 1 String 链表 get 2 else 链表 removeLast resultShow setText 0 永磁同步电机双环调速系统的仿真研究 16 else if e getSource 正负号按钮 if 链表 size 1 String number1 String 链表 getFirst try double d Double parseDouble number1 d 1 d String str String valueOf d 链表 set 0 str resultShow setText str process setText str catch Exception ee else if 链表 size 3 String number2 String 链表 getLast try double d Double pars

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论