首页 java编写的计算器设计报告

java编写的计算器设计报告

举报
开通vip

java编写的计算器设计报告java编写的计算器设计报告 实验7:综合实验二 一、试验目的 进一步掌握图形用户界面GUI,了解Swing组件的使用,以及系统提供的该工具的作用,进一步掌握JAVA事件响应机制的原理,更好的掌握面向对象编程的思路。 二、实验要求 创建一个界面来实现一个简单的计算器,要求: 1、实现最基本的计算器界面,包括:0~9的10个数字按钮,加、减、乘、除、等于5个运算符按钮,一个结果存放的文本区域。 2、实现最基本的加、减、乘、除运算,并能得到正确结果。 3、实现连续的运算,小数点的使用,并考虑各种可能导致...

java编写的计算器设计报告
java编写的计算器 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 实验7:综合实验二 一、试验目的 进一步掌握图形用户界面GUI,了解Swing组件的使用,以及系统提供的该工具的作用,进一步掌握JAVA事件响应机制的原理,更好的掌握面向对象编程的思路。 二、实验要求 创建一个界面来实现一个简单的计算器,要求: 1、实现最基本的计算器界面,包括:0~9的10个数字按钮,加、减、乘、除、等于5个运算符按钮,一个结果存放的文本区域。 2、实现最基本的加、减、乘、除运算,并能得到正确结果。 3、实现连续的运算,小数点的使用,并考虑各种可能导致异常的情况,将程序作完善; 4、可以通过关闭按钮实现关闭窗口。 三、实验步骤、结果 1、程序代码: import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SwingConstants; public class ZhxCacu extends JFrame implements ActionListener { JPanel jpResult = new JPanel(); JPanel jpButton = new JPanel(); JTextField jtfResult = new JTextField("0"); JButton zero = new JButton("0"); //数字键0 JButton one = new JButton("1"); //数字键1 JButton two = new JButton("2"); //数字键2 JButton three = new JButton("3"); //数字键3 JButton four = new JButton("4"); //数字键4 JButton five = new JButton("5"); //数字键5 JButton six = new JButton("6"); //数字键6 JButton seven = new JButton("7"); //数字键7 JButton eight = new JButton("8"); //数字键8 JButton nine = new JButton("9"); // 数字键9 JButton plus = new JButton("+"); JButton sub = new JButton("-"); JButton mul = new JButton("*"); JButton div = new JButton("/"); JButton equal = new JButton("="); JButton ce = new JButton("ce"); // 置零键 JButton point = new JButton("."); JButton tzero = new JButton("00"); //com代表敲击运算符,digit代表敲击数字键 boolean com = false; boolean digit = false; float total=0; String sum=""; int symbol=0; int b,c=0; public ZhxCacu(){ // 添加结果输入框并设置对齐方式 jpResult.setLayout(new BorderLayout()); jpResult.add(jtfResult); jtfResult.setEditable(false); jtfResult.setHorizontalAlignment(SwingConstants.RIGHT); //将组件添加到窗体上 this.add(jpResult,"North"); this.add(jpButton,"Center"); // 定义按钮区域布局管理器为网格布局 jpButton.setLayout(new GridLayout(6, 3, 10, 10)); // 添加各个按钮键 jpButton.add(seven); jpButton.add(eight); jpButton.add(nine); jpButton.add(four); jpButton.add(five); jpButton.add(six); jpButton.add(one); jpButton.add(two); jpButton.add(three); jpButton.add(zero); jpButton.add(tzero); jpButton.add(plus); jpButton.add(sub); jpButton.add(mul); jpButton.add(div); jpButton.add(point); jpButton.add(equal); jpButton.add(ce); one.addActionListener(this);//对1按钮添加监听事件 two.addActionListener(this);//对2按钮添加监听事件 three.addActionListener(this);//对3按钮添加监听事件 four.addActionListener(this);//对4按钮添加监听事件 five.addActionListener(this);//对5按钮添加监听事件 six.addActionListener(this);//对6按钮添加监听事件 seven.addActionListener(this);//对7按钮添加监听事件 eight.addActionListener(this);//对8按钮添加监听事件 nine.addActionListener(this);//对9按钮添加监听事件 zero.addActionListener(this);//对0按钮添加监听事件 ce.addActionListener(this);//对置零按钮添加监听事件 plus.addActionListener(this);//对+按钮添加监听事件 equal.addActionListener(this);//对=按钮添加监听事件 sub.addActionListener(this);//对-按钮添加监听事件 mul.addActionListener(this);//对*按钮添加监听事件 div.addActionListener(this);//对/按钮添加监听事件 tzero.addActionListener(this);//对00按钮添加监听事件 point.addActionListener(this);//对.按钮添加监听事件 pack();//初始化窗体大小最合适大小 this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); this.setSize(300,300); this.setVisible(true); } public static void main(String[] args) { // TODO 自动生成方法存根 new ZhxCacu(); } public void actionPerformed(ActionEvent e) { // TODO 自动生成方法存根 //数字 if(e.getSource()==one){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("1"); com = false; digit = true; }else{ sum = jtfResult.getText()+"1"; jtfResult.setText(sum); } } else if(e.getSource()==two){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("2"); com = false; digit = true; }else{ sum = jtfResult.getText()+"2"; jtfResult.setText(sum); } } else if(e.getSource()==two){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("2"); com = false; digit = true; }else{ sum = jtfResult.getText()+"2"; jtfResult.setText(sum); } } else if(e.getSource()==two){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("2"); com = false; digit = true; }else{ sum = jtfResult.getText()+"2"; jtfResult.setText(sum); } } else if(e.getSource()==two){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("2"); com = false; digit = true; }else{ sum = jtfResult.getText()+"2"; jtfResult.setText(sum); } } else if(e.getSource()==three){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("3"); com = false; digit = true; }else{ sum = jtfResult.getText()+"3"; jtfResult.setText(sum); } } else if(e.getSource()==four){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("4"); com = false; digit = true; }else{ sum = jtfResult.getText()+"4"; jtfResult.setText(sum); } } else if(e.getSource()==five){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("5"); com = false; digit = true; }else{ sum = jtfResult.getText()+"5"; jtfResult.setText(sum); } } else if(e.getSource()==six){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("6"); com = false; digit = true; }else{ sum = jtfResult.getText()+"6"; jtfResult.setText(sum); } } else if(e.getSource()==seven){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("7"); com = false; digit = true; }else{ sum = jtfResult.getText()+"7"; jtfResult.setText(sum); } } else if(e.getSource()==eight){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("8"); com = false; digit = true; }else{ sum = jtfResult.getText()+"8"; jtfResult.setText(sum); } } else if(e.getSource()==nine){ if(com||digit==false){//第一次敲击数字按钮 jtfResult.setText("9"); com = false; digit = true; }else{ sum = jtfResult.getText()+"9"; jtfResult.setText(sum); } } else if(e.getSource()==zero){ if(com||digit==false){//第一次敲击数字按 jtfResult.setText("0"); com = false; digit = true; }else{ sum = jtfResult.getText()+"0"; jtfResult.setText(sum); if(Float.parseFloat(sum)!=0){ } else{ if(b==1) {sum = jtfResult.getText()+"0"; jtfResult.setText(sum);} else jtfResult.setText("0"); } } } else if(e.getSource()==tzero){ if(com||digit==false){//第一次敲击数字按 jtfResult.setText("00"); com = false; digit = true; }else{ sum = jtfResult.getText()+"00"; jtfResult.setText(sum); } } else if(e.getSource()==point){ if(com||digit==false){//第一次敲击数字按钮 b=1; com = true; digit = false; }else if(c==1); else { b=1; sum = jtfResult.getText()+"."; jtfResult.setText(sum);c=1; } } //运算 else if(e.getSource()==plus){ symbol = 1;c=0; total = Float.parseFloat(jtfResult.getText()); com = true; digit = false; } else if(e.getSource()==sub){ symbol = 2;c=0; total = Float.parseFloat(jtfResult.getText()); com = true; digit = false; } else if(e.getSource()==mul){ symbol = 3;c=0; total = Float.parseFloat(jtfResult.getText()); com = true; digit = false; } else if(e.getSource()==div){ symbol = 4;c=0; total = Float.parseFloat(jtfResult.getText()); com = true; digit = false; } else if(e.getSource()==ce){ com = true; digit = false; total=0; sum ="0" ; jtfResult.setText(sum); } //= else if(e.getSource()==equal){ com = true; digit = false; switch(symbol){ case 1:jtfResult.setText(new Float(total+Float.parseFloat(jtfResult.getText())).toString());b=0;c=0;break; case 2:jtfResult.setText(new Float(total-Float.parseFloat(jtfResult.getText())).toString());b=0;c=0;break; case 3:jtfResult.setText(new Float(total*Float.parseFloat(jtfResult.getText())).toString());b=0;c=0;break; case 4:if( Float.parseFloat(jtfResult.getText())==0 ) {try{throw new Exception();} catch(Exception a){ jtfResult.setText("错误~被除数不能为0,请重新输入:"); } } else jtfResult.setText(new Float(total/Float.parseFloat(jtfResult.getText())).toString());b=0;c=0;break; } digit=false; total = 0; } } } 2、界面: 四、实验中的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 以及解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 : 1、问题: 被除数为0 解决:抛出异常 2、问题: 阻止0、小数点在同一数字中重复出现 解决: 设置标志, 五、总结: 1、进一步了解了项目开发的步骤,思路,以及程序的布局和框架结构,尤其是对JAVA的模块化设计有了更为深入的了解。 2、进一步掌握图形用户界面GUI,了解Swing组件的使用,以及系统提供的该工具的作用,进一步掌握JAVA事件响应机制的原理,更好的掌握面向对象编程的思路。
本文档为【java编写的计算器设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_266065
暂无简介~
格式:doc
大小:50KB
软件:Word
页数:0
分类:互联网
上传时间:2017-10-08
浏览量:18