版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 _02三.详细设计3.1程序中所用的类:类名:lushuaishuaij
4、sq作用:主类继承的父类: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)语句实现了ActionL
5、istener接口,因此可以调用addActionListener(this)方法对按钮进行点击监听,在下面的public void actionPerformed(ActionEvent e)方法里面对各个点击事件进行处理。程序中的主要方法:private void listener()添加侦听器对象,对来自键盘和点击的事件进行监听;public void actionPerformed(ActionEvent e)添加监视器,对来自键盘和鼠标点击的事件进行捕捉;public void keyPressed(KeyEvent e)public void keyReleased(KeyEven
6、t arg0) public void keyTyped(KeyEvent arg0) 针对键盘操作而设计的键盘操作; 3.2程序功能介绍:功能1,该程序为十进制计算器,可进行普通十进制计算。功能2,可进行四则运算(加、减、乘、除)以及求负数,求倒数运算。功能3,可进行退格,点击“退格”键将逐个删除已经输入的数据。点击“归零”键可实现计算器的初始化。四. 运行结果:4.1运行结果界面截图:4.2:程序运行情况:程序正常的响应按钮事件,进行混合四则运算的时候,结果如果不是很大,可以正常显示,但如果结果很大,就可能采用科学记数方式,这样带来了进制转换时的麻烦,需要特殊的处理科学记数里的E ,当结果
7、太大的时候,有可能超出可能表示的最大值,(结果溢出),这个时候就会对结果进行溢出提示,我并未设置异常类来相应异常事件,但是程序在发生异常时会提示Infinity字符。 五 . 程序源代码:import java.awt.event.KeyListener;er;import java.awt.event.WindowEvent;import java.awt.event.KeyEvent;/实现键盘事件import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.Ac
8、tionListener;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(); Button be=new Butto
9、n("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 Butt
10、on("4"); Button b5=new Button("5"); Button b6=new Button("6"); Button b7=new Button("7"); Button b8=new Button("8"); Button b9=new Button("9"); Button bd=new Button("."); Button bj=new Button("+"); Button bji=new Button(
11、"-"); Button bs=new Button("*"); Button bchu=new Button("/"); Button bden=new Button("="); private void init() gridLayout.setColumns(4); gridLayout.setRows(4); gridLayout.setHgap(8); gridLayout.setVgap(8); p1.add(text,"West"); p1.add(bc,"East&qu
12、ot;); 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(bd); p2.add(bj)
13、; 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(this); b5.addAc
14、tionListener(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.addActionListener(th
15、is); 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(
16、e.getActionCommand()="3") if(b!=5) s=s+"3" text.setText(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+&q
17、uot;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(s); if(e.getActionCommand()="9") if(b!=5) s=s+"9" text.setText(s); if(e.getActionCommand(
18、)=".") 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
19、, p, 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!="") i
20、f(b!=0&&b!=5) s=this.equal(s, p, k, b); k=Float.parseFloat(s); text.setText(s); s="" b=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()=
21、"=") 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.getActionCommand()="负号") s=("-"+s); text.setText(s); if(e.getActionCommand()="1/x") /int k; float k, j
22、; 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 警惕网络诱惑共建安全网络环境小学主题班会课件
- 小学主题班会课件:心理健康与快乐人生
- 诚信友善常相伴,小学主题班会课件
- 团队建设与凝聚力提升综合手册
- 关于调整2026年产品价格的合作函3篇范文
- 网络管理监测与调试手册
- 2026管理会计面试题库及答案
- 2026管培生集体面试题目及答案
- 2026贵大招聘面试题及答案
- 远离网络诱惑守护童年纯真小学六年级主题班会课件
- 现代汉语专题学习通超星课后章节答案期末考试题库2023年
- 江苏师范大学成人继续教育网络课程《英语》单元测试及参考答案
- 预制方桩及预应力管桩施工组织设计
- 中医四诊在临床护理中的应用
- 小学语文人教五年级下册第一单元四时田园杂兴 市一等奖
- 《陈涉世家》比较阅读27篇(历年中考语文文言文阅读试题汇编)(含答案与翻译)(截至2021年)
- 2023年高州市中医院康复医学与技术岗位招聘考试历年高频考点试题含答案解析
- JJG 1086-2013气体活塞式压力计
- GB/T 40115-2021灌溉水表
- GB/T 36217-2018船舶与海上技术船舶系泊和拖带设备带上滚柱导缆器
- GB/T 25118-2010轨道交通机车车辆电气设备开启式功率电阻器规则
评论
0/150
提交评论