课程实习报告_第1页
课程实习报告_第2页
课程实习报告_第3页
课程实习报告_第4页
课程实习报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、计算器设计摘要:利用JAVA语言设计出简易的计算器,能实现加减乘除等简单运算。整个设计包括界面布局和功能实现。程序开发主要运用了IF语句,监听者,以及布尔变量等。1、概要设计1.1开发工具及环境文本编辑器:记事本;运行环境:命令提示符(DOS环境)。1.2 任务及需求分析设计简易计算器程序,实现简单的运算(加减乘除),具体任务如下:1) 计算器窗口界面布局设计;2) 各种计算功能的算法分析;3) 编程实现具体的计算功能;4) 运行测试程序,调试纠正运行错误。5) 调试无误,运行,测试具体算法功能。1.3 功能模块设计计算器的模块设计图如下:计算器界面加运算减运算乘运算除运算归零1.4 工作原理

2、点击相应的数字键,即会在显示文档中显示该数字。进行相应的运算,首先输入第一个计算数字,然后输入运算符,再输入第二个计算数字,点击“=”按钮即得计算结果。同时,还有归零功能,点击该按钮,显示栏中即可归零。2、 具体实现2.1 类设计类名:jisuanqi作用:功能代码,窗口布局设定public class Calculator extends WindowAdapter WindowAdapter实现了WindowListener的类,实现了WindowListenerframe.addWindowListener(new WindowAdapter();类名:WindowDestroyer作用

3、:用于退出窗口动作关键代码:class close implements ActionListener public void actionPerformed(ActionEvent e) System.exit(0);2.2 模块及实现代码介绍Frame fm = new Frame("简单计算器"); for (int i = 0; i <= 16; i+) bi = new Button(ssi); for (int i = 0; i <= 15; i+) p2.add(bi); /创建按钮 并添加到P2 b16.setBackground(Color.y

4、ellow); txt = new TextField(15); txt.setEditable(false); for (int i = 0; i <= 16; i+) bi.addActionListener(new buttonlistener(); 注:此方法主要设置窗口、面板、各个按键。对各个按键进行定义(定义好各按键该实现什么功能)、排布,将各个按键注册到监听器上。txt.setText(txt.getText() + btn.getLabel(); if (btn.getLabel() = "归零") txt.setText("");

5、注:该代码使每次进入时的文本都清空class close implements ActionListener /退出 public void actionPerformed(ActionEvent e) System.exit(0);注:该方法实现了窗口的关闭3、运行调试与分析讨论调试运行4*5运算,运算过程如下所示:1)命令提示符中运行计算器程序,如下图:2)计算器界面显示,输入第一个运算值“4”,如下图: 3)输入运算符“*”,如下图:4)输入第二个运算值“5”,如下图所示:5)点击计算器按钮“=”,得出计算结果。如下图:4、设计体会与小结附录:(源程序)import java.awt.*

6、;import java.awt.event.*;public class jisuanqi extends WindowAdapter Panel p1 = new Panel(); Panel p2 = new Panel(); Panel p3 = new Panel(); TextField txt; private Button b = new Button17; private String ss = "7", "8", "9", "+", "4", "5", &

7、quot;6", "-", "1", "2", "3", "*", "归零", "0", "=", "/", "关闭" ; static double a; static String s, str;/定义变量 创建对像public static void main(String args) (new jisuanqi().frame(); public void frame() Fra

8、me fm = new Frame("简单计算器"); for (int i = 0; i <= 16; i+) bi = new Button(ssi); for (int i = 0; i <= 15; i+) p2.add(bi); /创建按钮 并添加到P2 b16.setBackground(Color.yellow); txt = new TextField(15); txt.setEditable(false); for (int i = 0; i <= 16; i+) bi.addActionListener(new buttonlisten

9、er();/添加监听器 b16.addActionListener(new close(); fm.addWindowListener(this); fm.setBackground(Color.red); p1.setLayout(new BorderLayout(); p1.add(txt, "North"); p2.setLayout(new GridLayout(4, 4); p3.setLayout(new BorderLayout(); p3.add(b16); fm.add(p1, "North"); fm.add(p2, "Ce

10、nter"); fm.add(p3, "South"); fm.pack(); fm.setVisible(true);/都是些窗中设置 添加相关组件和监听器 public void windowClosing(WindowEvent e) System.exit(0);/退出系统 class buttonlistener implements ActionListener /编写监听器事件 通过按键得出给果 public void actionPerformed(ActionEvent e) Button btn = (Button) e.getSource()

11、; if (btn.getLabel() = "=") jisuan(); str = String.valueOf(a); txt.setText(str); s = "" else if (btn.getLabel() = "+") jisuan(); txt.setText(""); s = "+" else if (btn.getLabel() = "-") jisuan(); txt.setText(""); s = "-"

12、else if (btn.getLabel() = "/") jisuan(); txt.setText(""); s = "/" else if (btn.getLabel() = "*") jisuan(); txt.setText(""); s = "*" else txt.setText(txt.getText() + btn.getLabel(); if (btn.getLabel() = "归零") txt.setText(""); public void jisuan() /编写具体计算方法 if (s = "+") a += Double.parseDouble(txt.getText(); else if (s = "-") a -= Double.parseDouble(txt.getText(); else if (s = "*") a *= Double.parseDouble(txt.getText(); else if (

温馨提示

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

评论

0/150

提交评论