ImageVerifierCode 换一换
格式:DOC , 页数:11 ,大小:133.54KB ,
资源ID:12021623      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12021623.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(JAVA实训报告--计算器.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

JAVA实训报告--计算器.doc

1、《Java实训》设计报告 《Java实训》设计报告 计算器 专业: 软件技术 班级: 09-23 学号: 090123037 姓名: 范付明 石家庄科技信息职业学院 信息工程系 2011年10月15日 项目简介 项目名称 计算器 开发人员 范付明 项目简介 本程序名称为计算器,主要功能是实现简单的数字,运算符号,计算,删除,复位等功能。 项目目的 掌握计算器的各项基本功

2、能 掌握编写计算器程序的所用方法 掌握Swing组件的应用 掌握事件的应用 主要技术 Java编程语言、javaSwing技术 开发环境 JDK1.6.0_24 项 目 特 点 使用组件构建的C/S应用程序 各项功能的组织合理搭配应用 图标控制功能实现 技 术 重 点 构建基于C/S架构的应用程序 Swing组件应用 事件监听的应用 方法的编写 技 术 难 点 Swing组件的应用 事件监听器的使用 异常处理 方法简便的选择 项目名称 一、项目需求 本程序的主要功能: (1)单击“计算器”上的

3、数字按钮(0~9)可以设置参与计算的运算数。 (2)单击“计算器”上的运算符按钮(+、-、*、/、1/x、sqrt、%)可以选择运算符号。 (3)单击“计算器”上的“=”按钮显示计算结果。 (4)单击“计算器”上的“复位”按钮清空计算结果。 (5)单击“计算器”上的“删除”按钮删除输入的最后一个数字。 二、项目设计 在设计计算器时,编写2个Java源文件:CalculatorWindow.java、NumberButton.java计算器除了上述Java源文件所给出的类外,还需要Java系统提供的一些重要类,如JButton,JTextField等。 下面是2个Java源文件的总

4、体设计。 (1)CalculatorWindow.java(主类) CalculatorWindow类负责创建计算器的主窗口,该类含有main方法,计算器从该类开始执行。CalculatorWindow类有4种类型的对象,分别是:LinkedList、NumberButton、JButton、JTextField。 (2)NumberButton.java NumberButton类创建的对象是主类CalculatorWindow窗口的一个“数字”按钮。NumberButton有一个int类型的成员temp,用于标明所创建的按钮所含有的运算符号。NumberButton

5、所创建的22个按钮被添加到CalculatorWindow窗口中。 1、CalculatorWindow类(主类) (1)数据和方法 CalculatorWindow类是javax.swing包中JFrame的一个字类,并实现了ActionListener接口。类中有关数据和方法的详细说明。 1)成员变量 jbArray是NumberButton型数组,每个单元是一个NumberButton类创建的“数字按钮”对象,该数组长度为10。numberButton数组中的“数字按钮”含有的数字依次为0~9。每个“数字按钮”都注册有ActionEvent事件监听器。 2)方法 m

6、ain(String args[])方法是计算器程序运行的入口方法。 CalculatorWindow()是构造方法,负责完成窗口的初始化。 (2)代码: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class jisuanqi extends JFrame implements ActionListener { private JTextField jtResult=new JTextField(); private JButton jb_clear=new JButt

7、on("复位"); private JButton jb_delete=new JButton("删除"); private static JButton[][] jbArray={{new JButton("7"),new JButton("4"),new JButton("1"),new JButton("0")}, {new JButton("8"),new JButton("5"),new JButton("2"),new JButton("+/-")},

8、 {new JButton("9"),new JButton("6"),new JButton("3"),new JButton(".")}, {new JButton("/"),new JButton("*"),new JButton("-"),new JButton("+")}, {new JButton("sqrt"),new JButton("%"),new JButton("1/x"),new JButton("=

9、")} }; int first=0; double qian; String fuhao; boolean clear=true,clickable=true; public jisuanqi() { setFrame(); addListener(); } public void setFrame() { this.setLayout(null); this.setTitle("计算器"); jtResult.setBounds(120,10

10、0,310,30); jtResult.setEditable(false); jtResult.setHorizontalAlignment(JTextField.RIGHT); this.add(jtResult); jb_clear.setBounds(290,150,60,30); this.add(jb_clear); for(int i=0;i

11、0+80*i,200+60*j,60,30); this.add(jbArray[i][j]); } } jb_delete.setBounds(370,150,60,30); this.add(jb_delete); this.setBounds(430,130,500,500); this.setVisible(true); } public void addListener() { jtResult.addActionListener(this); jb_clear.addActionListener(this);

12、 jb_delete.addActionListener(this); for(int i=0;i

13、sult.setText(""); } if(temp==jb_delete) { String s = jtResult.getText(); jtResult.setText(""); for (int i = 0; i < s.length() - 1; i++) { char a = s.charAt(i); jtResult.setText(jtResult.getText() + a); } } if(temp==jbArray[0][3])//点击"0"按钮 { if(cle

14、ar==false)//判断是否点击了符号位 jtResult.setText(""); jtResult.setText(jtResult.getText()+"0"); } if(temp==jbArray[0][2])//点击"1"按钮 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText()+"1"); clear=true;//第二次不在清空 } if(temp==jbArray[1][2])//点击"2"按钮

15、 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText()+"2"); clear=true; } if(temp==jbArray[2][2])//点击"3"按钮 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText()+"3"); clear=true; } if(temp==jbArray[0][1])

16、//点击"4"按钮 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText()+"4"); clear=true; } if(temp==jbArray[1][1])//点击"5"按钮 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText()+"5"); clear=true; } if(temp==jbAr

17、ray[2][1])//点击"6"按钮 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText()+"6"); clear=true; } if(temp==jbArray[0][0])//点击"7"按钮 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText()+"7"); clear=true; }if(temp

18、jbArray[1][0])//点击"8"按钮 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText()+"8"); clear=true; } if(temp==jbArray[2][0])//点击"9"按钮 { if(clear==false) jtResult.setText(""); jtResult.setText(jtResult.getText()+"9"); clear=true; }

19、 if(temp==jbArray[2][3])//点击"."按钮 { clickable=true; for (int i = 0; i < jtResult.getText().length(); i++) if ('.' == jtResult.getText().charAt(i)) { clickable=false; break; } //第一层判断是否里面含有小数点; if(clickable==true)//第二坛判断 jtResult.setText(jtResult.getText()

20、"."); } try { if(temp==jbArray[3][3])//点击"+"按钮 { qian=Double.parseDouble(jtResult.getText()); fuhao="+"; clear=false; } if(temp==jbArray[3][2])//点击"-"按钮 { qian=Double.parseDouble(jtResult.getText()); fuhao="-"; clear=false; } if(tem

21、p==jbArray[3][1])//点击"*"按钮 { qian=Double.parseDouble(jtResult.getText()); fuhao="*"; clear=false; } if(temp==jbArray[3][0])//点击"/"按钮 { qian=Double.parseDouble(jtResult.getText()); fuhao="/"; clear=false; } if(temp==jbArray[4][3])//点击"="按钮 {

22、 double ss=Double.parseDouble(jtResult.getText()); jtResult.setText(""); if(fuhao=="+") jtResult.setText(qian+ss+""); if(fuhao=="-") jtResult.setText(qian-ss+""); if(fuhao=="*") jtResult.setText(qian*ss+""); if(fuhao=="/") jtResult.setText(qian/ss+"");

23、 clear=false;//要清空前一次的数据 } if(temp==jbArray[4][0])//点击"sqrt"按钮 { String s = jtResult.getText(); if(s.charAt(0) == '-') { jtResult.setText("负数不能开根号"); } else jtResult.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(jtResult.getText(

24、))))); clear=false; } if(temp==jbArray[4][2])//点击"1/x"按钮 { if (jtResult.getText().charAt(0) == '0'&&jtResult.getText().length() == 1) { jtResult.setText("除数不能为零"); } else { boolean isDec = true; int i, j, k; String s = Double.toStrin

25、g(1 / Double.parseDouble(jtResult.getText())); for (i = 0; i < s.length(); i++) if (s.charAt(i) == '.') break; for (j = i + 1; j < s.length(); j++) if (s.charAt(j) != '0') { isDec = false; break; } if (isDec == true) { String

26、 stemp = ""; for (k = 0; k < i; k++) stemp += s.charAt(k); jtResult.setText(stemp); } else jtResult.setText(s); } clear=false; } if(temp==jbArray[4][1])//点击"%"按钮 { jtResult.setText("0"); clear=false; } if (temp == jbA

27、rray[1][3]) //点击"+/-"按钮 { boolean isNumber = true; String s = jtResult.getText(); for (int i = 0; i < s.length(); i++) if (! (s.charAt(i) >= '0'&&s.charAt(i) <= '9'||s.charAt(i) == '.'||s.charAt(i) == '-')) { isNumber = false; break; } if (isNumb

28、er == true) { //如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉 if(s.charAt(0) == '-') { jtResult.setText(""); for (int i = 1; i < s.length(); i++) { char a = s.charAt(i); jtResult.setText(jtResult.getText() + a); } } //如果当前字符串第

29、一个字符不是符号,则添加一个符号在首字母处 else jtResult.setText('-' + s); } } } catch(Exception eee) { System.out.println("运算时,首先输入数字或字符"); jtResult.setText("运算出错"); clear=false; } } public static void main(String args[]) { new jisuanqi(); } } (3) 效果图 CalculatorWindow创建的窗口效果如图1所示。 三、 项目总结 本程序为JAVA中简单的计算器,主要实现简单的数学计算,删除,复位等功能。运用JAVA中的类,数组,成员变量等知识,有简单的界面,按钮等。 本程序还存在一定的缺陷,功能简单,界面还需美化等。 四、 心得体会 编写一个程序,无论会实现什么功能,都必须掌握这门语言的要领、基本知识及工具的运用,同时别的辅助工具也要有一定的了解。因此要更好的运用Java语言编程还需更深入的学习,这样才能把一个程序的功能实现的淋漓尽致,界面才会更加美观。 同时编写这个程序让我更好的理解了数组、类的运用及事件的监听和获取等功能。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服