




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JAVA课程设计题目: 计算器 姓 名: 学 号: 班 级: 日 期: 指导老师分 数目 录一. 引言3二.开发环境3三.详细设计43.1程序中所用的类:43.2程序功能介绍:5四. 运行结果:54.1 运行结果界面截图:54.2 程序运行情况:5五 . 程序源代码:6六 程序不足之处:12一. 引言该程序是一个图形界面的简单的java计算器,使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。可以进行简单的四则运算(加、减、乘、除,以及求倒数,求相反数),有退格功能, 归零表示初始化,界面颜色为灰白,该程序支持键盘操作
2、。随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语言之后,我决定使用Java语言编写一个简单的计算器,可以实现简单的运算功能,满足日常基本的工作学习和娱乐需要。Java是由Sun公司开发的新一代纯面向对象的网络编程语言。其目标是建立一种在任意种机器、任一种操作系统的网络环境中运行的软件,实行所谓的“程序写一次,到处运行”的目标。正因为如此,Java已成为当今Internet上最流行、最受欢迎的一种程序开发语言。Java开发小组把Java按特性分为基本版、移动版、企业版,每个版本有一个软件开发包。Java基
3、本版本叫Java 2标准版(Java 2 Standard Edition,J2SE),它包含建立Java应用程序或者是Applet所需的应用程序编程接口(API)。Java 2移动版(The Java 2 Mobile Edition,J2ME)包含创建无线Java应用程序的API。还有Java 2企业版(The Java 2 Enterprise,J2EE)是J2SE的增强版本,包含建立多层架构应用程序API。二.开发环境 开发平台:Microsoft Windows 7旗舰版 开发工具:JCreator + JDK 1.6.0_02三.详细设计3.1程序中所用的类:类名:lushuais
4、huaijsq作用:主类继承的父类:Frame类实现的接口: KeyListener类,ActionListener类public class lushuaishuaijsq extends Frame implements ActionListener,KeyListener String s=;/S 控制文本框 float k=0;/K P 保存值 float p=0; int b=0;/控制运算符号其中s为文本框内的数据,k,p,b分别为相应的保存值和控制运算符号所用。public void actionPerformed(ActionEvent e)语句实现了ActionListene
5、r接口,因此可以调用addActionListener(this)方法对按钮进行点击监听,在下面的public void actionPerformed(ActionEvent e)方法里面对各个点击事件进行处理。程序中的主要方法:private void listener()添加侦听器对象,对来自键盘和点击的事件进行监听;public void actionPerformed(ActionEvent e)添加监视器,对来自键盘和鼠标点击的事件进行捕捉;public void keyPressed(KeyEvent e)public void keyReleased(KeyEvent arg0
6、) public void keyTyped(KeyEvent arg0) 针对键盘操作而设计的键盘操作; 3.2程序功能介绍:功能1,该程序为十进制计算器,可进行普通十进制计算。功能2,可进行四则运算(加、减、乘、除)以及求负数,求倒数运算。功能3,可进行退格,点击“退格”键将逐个删除已经输入的数据。点击“归零”键可实现计算器的初始化。四. 运行结果:4.1运行结果界面截图:4.2:程序运行情况:程序正常的响应按钮事件,进行混合四则运算的时候,结果如果不是很大,可以正常显示,但如果结果很大,就可能采用科学记数方式,这样带来了进制转换时的麻烦,需要特殊的处理科学记数里的E ,当结果太大的时候,
7、有可能超出可能表示的最大值,(结果溢出),这个时候就会对结果进行溢出提示,我并未设置异常类来相应异常事件,但是程序在发生异常时会提示Infinity字符。 五 . 程序源代码:import java.awt.event.KeyListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.event.KeyEvent;/实现键盘事件import javax.swing.*;import java.awt.*;import java.awt.event.ActionEve
8、nt;import java.awt.event.ActionListener;class lushuaishuaijsq extends Frame implements ActionListener,KeyListener String s=;/S 控制文本框 float k=0;/K P 保存值 float p=0; int b=0;/控制运算符号 Panel p1=new Panel(); Panel p2=new Panel(); TextField text=new TextField(50); GridLayout gridLayout=new GridLayout(); But
9、ton be=new Button(1/x); Button bf=new Button(负号); Button bb=new Button(退格); Button bc=new Button(归零); Button b0=new Button(0); Button b1=new Button(1); Button b2=new Button(2); Button b3=new Button(3); Button b4=new Button(4); Button b5=new Button(5); Button b6=new Button(6); Button b7=new Button(7)
10、; Button b8=new Button(8); Button b9=new Button(9); Button bd=new Button(.); Button bj=new Button(+); Button bji=new Button(-); Button bs=new Button(*); Button bchu=new Button(/); Button bden=new Button(=); private void init() gridLayout.setColumns(4); gridLayout.setRows(4); gridLayout.setHgap(8); g
11、ridLayout.setVgap(8); p1.add(text,West); p1.add(bc,East); p1.add(bb,East); p1.add(be,East); p1.add(bf,East); p2.setLayout(gridLayout); p2.add(b7); p2.add(b8); p2.add(b9); p2.add(bchu); p2.add(b4); p2.add(b5); p2.add(b6); p2.add(bs); p2.add(b1); p2.add(b2); p2.add(b3); p2.add(bji); p2.add(b0); p2.add
12、(bd); p2.add(bj); p2.add(bden); private void listener() be.addActionListener(this); bf.addActionListener(this); bb.addActionListener(this); bc.addActionListener(this); b0.addActionListener(this); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener
13、(this); b5.addActionListener(this); b6.addActionListener(this); b7.addActionListener(this); b8.addActionListener(this); b9.addActionListener(this); bd.addActionListener(this); bj.addActionListener(this); bji.addActionListener(this); bs.addActionListener(this); bchu.addActionListener(this); bden.addA
14、ctionListener(this); public void actionPerformed(ActionEvent e) if(e.getActionCommand()=0) if(b!=5) s=s+0; text.setText(s); if(e.getActionCommand()=1) if(b!=5) s=s+1; text.setText(s); if(e.getActionCommand()=2) if(b!=5) s=s+2; text.setText(s); if(e.getActionCommand()=3) if(b!=5) s=s+3; text.setText(
15、s); if(e.getActionCommand()=4) if(b!=5) s=s+4; text.setText(s); if(e.getActionCommand()=5) if(b!=5) s=s+5; text.setText(s); if(e.getActionCommand()=6) if(b!=5) s=s+6; text.setText(s); if(e.getActionCommand()=7) if(b!=5) s=s+7; text.setText(s); if(e.getActionCommand()=8) if(b!=5) s=s+8; text.setText(
16、s); if(e.getActionCommand()=9) if(b!=5) s=s+9; text.setText(s); if(e.getActionCommand()=.) if(b!=5) if(s.indexOf(.)=-1) s=s+.; text.setText(s); if(e.getActionCommand()=归零) s=; text.setText(s); k=0; p=0; b=0; if(e.getActionCommand()=+) if(s!=) /k=Float.parseFloat(s); if(b!=0&b!=5) s=this.equal(s, p,
17、k, b); k=Float.parseFloat(s); text.setText(s); s=; b=1; if(e.getActionCommand()=-) if(s!=) if(b!=0&b!=5) s=this.equal(s, p, k, b); k=Float.parseFloat(s); text.setText(s); s=; b=2; if(e.getActionCommand()=*) if(s!=) if(b!=0&b!=5) s=this.equal(s, p, k, b); k=Float.parseFloat(s); text.setText(s); s=; b
18、=3; if(e.getActionCommand()=/) if(s!=) if(b!=0&b!=5) s=this.equal(s, p, k, b); k=Float.parseFloat(s); text.setText(s); s=; b=4; if(e.getActionCommand()=) s=equal(s, p, k, b); text.setText(s); b=5;/b=5控制等号以后不能直接跟数字 if(e.getActionCommand()=退格) s=s.substring(0,s.length()-1); text.setText(s); if(e.getAc
19、tionCommand()=负号) s=(-+s); text.setText(s); if(e.getActionCommand()=1/x) /int k; float k, j; String m; if(s=0) / System.out.println(asfsdfa); text.setText(dsfaf); else k=Float.parseFloat(s); j=1/k; m=String.valueOf(j); text.setText(m); public String equal(String s,float p,float k,int b) if(s!=) /System.out.println(program is run here); p=Float.parseFloat(s); if(b=1) s=+(p+k); if(b=2) s=+(k-p); if(b=3) s=+(p*k); if(b=4) if(p=0) s=除数不能为零; else s=+(k/p); return s; public lushuaishuaijsq() this.addWindowListener(new WindowAdapter() publ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南锡业职业技术学院《网络路由与交换》2023-2024学年第二学期期末试卷
- 大连大学《儿童文学作品欣赏》2023-2024学年第二学期期末试卷
- 贵阳职业技术学院《兽药残留分析》2023-2024学年第二学期期末试卷
- 河南农业职业学院《中学数学教学设计》2023-2024学年第二学期期末试卷
- 曹妃甸职业技术学院《舞台美术设计与技术》2023-2024学年第二学期期末试卷
- 北京电影学院《刑法(二)》2023-2024学年第二学期期末试卷
- 雅安职业技术学院《中级财务会计(上)》2023-2024学年第二学期期末试卷
- 南京审计大学《医学微生物学理论》2023-2024学年第二学期期末试卷
- 白城医学高等专科学校《高电压与绝缘技术》2023-2024学年第二学期期末试卷
- 齐齐哈尔理工职业学院《广告策划与新媒体设计》2023-2024学年第二学期期末试卷
- 手术室常用药物
- 安防监控系统维保表格完整
- 服饰项目经济效益分析报告
- 数字贸易学 课件 第18、19章 全球数字经济治理概述、包容性发展与全球数字鸿沟
- 学校护蕾行动工作方案及计划书
- 武汉美食介绍PPT
- 化工原理第三章过滤
- 房屋抵押个人借款标准合同
- 国家职业技术技能标准 4-07-02-05 商务数据分析师S 2024年版
- 10、工地试验室培训
- 慢性阻塞性肺疾病的发病机制与药物治疗方法
评论
0/150
提交评论