收藏 分销(赏)

java计算器实验总结.doc

上传人:二*** 文档编号:4514139 上传时间:2024-09-26 格式:DOC 页数:16 大小:37.04KB 下载积分:5 金币
下载 相关 举报
java计算器实验总结.doc_第1页
第1页 / 共16页
本文档共16页,全文阅读请下载到手机保存,查看更方便
资源描述
java计算器实验总结   java计算器实验,做完实验你会有所发现,怎么写总结呢?下面是带来的java计算器实验总结,欢迎阅读!   GDOU-B-11-112   广东海洋大学学生实验报告书(学生用表)   实验名称 JAVA计算器程序设计   学院(系)   学生姓名   课程名称 专业 JAVA程序设计 班级 课程号 完成日期 学号 实验地点   实验JAVA计算器程序设计   1) 实验总结:刚做之前,勉强还能做些小程序,但在进展了计算器程序设计的时候,才发现很多语句还不能联系运用,大部分还是通过百度和书籍才勉勉强强完成,看来实践才是硬道理   2) 实验目的   通过计算器程序设计,能够更加深入的了解JAVA,熟悉图形用户的设计原理和程序构造等   4) 实验内容和步骤   实验内容   应用JAVA软件设计一个简易的计算器,实现根本的四那么运算及括号   设计流程   1. 分析该计算器需要完成的功能。   用户能够完成添加括号和负号的四那么混合运算,并且计算器能够自动识别运算符的优先级,根据用户输入的运算表达式,自动计算出相应的结果。   同时还完成了计算器中C按钮清屏功能和Backspace退格键。   2. 考虑异常处理。   (1)当输入的表达式中出现除零的操作,显示框将显示“Infinity(无穷大)”。   (2)当输入的表达式错误时,将弹出提示框显示“表达式错误请重新输入”   (3)当计算器的显示文本框里为没有输入内容时直接点击等号按钮,将弹出提示框显示“对不起,您没有任何输入,请重新输入:”。   (4)当第一次输入乘号键,除号键,右括号,小数点,求余键,等号键,ce键,Backspace键时提示错误。   4. 考虑数据的处理   目标计算表达式通过点击计算器界面上的按钮进展输入,当按下等号之后,计算器通过调用JAVA中script这个包中的相关类和方法来实现数据的处理。   5. 编码实现计算器的功能。   (1)新建相关的文件。   (2)引入JAVA中相关的包。   (3)新建类Jsq,并继承了类Frame,而且实现了接口ActionListener   (4)定义相关的变量,创立相关组件,并对组件的属性进展设置。   (5)对所创立的组件进展布局,完成界面的实现。   (6)为各个组件添加事件偷听。   (7)重写事件接口ActionListener的方法public void actionPerformed(ActionEvent e)。   (8)为各个组件编写事件代码,完成每个按钮的不同功能。   4、程序   import java.awt.*;   import java.awt.event.*;   import javax.swing.*;   import javax.swing.event.*;   import java.awt.List;   import javax.script.ScriptEngine;   import javax.script.ScriptEngineManager;   import javax.script.ScriptException;   public class Calculator extends Frame   {   public static void main(String[] args) { final Frame window = new Frame("Calculator"); window .setSize(380, 337); int width = Toolkit.getDefaultToolkit().getScreenSize().width; window .setResizable(false); int height = Toolkit.getDefaultToolkit().getScreenSize().height; window.setLocation(width / 2 - 200, height / 2 - 150); window .setLayout(null); /   final JTextField text = new JTextField(); //text.setEditable(false); text.setEditable(true); text.setBounds(10,40,360,50); window .add(text); text.setForeground(Color.blue); text.setBackground(Color.LIGHTGRAY ); text.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { ScriptEngineManager sem1 = new ScriptEngineManager(); ScriptEngine se1 = sem1.getEngineByName("js"); try{ int leng10 = text.getText().length(); if(leng10 == 0) { JOptionPane.showMessageDialog(null, "对不起,您没有任何   text.requestFocusInWindow(); text.setHorizontalAlignment(JTextField.RIGHT); 输入,请重新输入:");   }   else { } String reslut = text.setText(text.getText()+"="+reslut); text.requestFocus(); se1.eval(text.getText()).toString(); }catch (ScriptException evt){ JOptionPane.showMessageDialog(null,"表达式错误,请重新输入! text.setText(""); //给文本框赋值为   text.requestFocus();   } "); 空到达清屏作用   } }); /***********设置0键***************/ final JButton b0 = new JButton("0"); //新建按钮0 b0.setBounds(10,283,72,50); //设置0键的位置 window.add(b0); //把文本框添加到窗口中 b0.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) text.setText(text.getText()+"0"); text.requestFocus(); { } }); /********设置1键****************/ final JButton b1 = new JButton("1"); window.add(b1); b1.setBounds(10,233,72,50); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) text.setText(text.getText()+"1"); text.requestFocus();   } {   }); /***********设置2键*****************/ final JButton b2 = new JButton("2");   b2.setBounds(82,233,72,50); window.add(b2); b2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) text.setText(text.getText()+"2"); text.requestFocus();   } {   }); /********设置3键****************/ final JButton b3 = new JButton("3"); b3.setBounds(154,233,72,50); window.add(b3); b3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)   } text.setText(text.getText()+"3"); text.requestFocus(); {   });   /*********设置4键***************/ final JButton b4 = new JButton("4"); b4.setBounds(10,183,72,50); window.add(b4); b4.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)   } text.setText(text.getText()+"4"); text.requestFocus(); {   }); /*********设置5键*************/ final JButton b5 = new JButton("5"); b5.setBounds(82,183,72,50); window.add(b5); b5.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) text.setText(text.getText()+"5"); text.requestFocus(); { }   }); /********设置6键***************/ final JButton b6 = new JButton("6"); b6.setBounds(154,183,72,50); window.add(b6); b6.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) text.setText(text.getText()+"6"); text.requestFocus(); { } }); /*********设置7键**************/ final JButton b7 = new JButton("7"); b7.setBounds(10,135,72,50); window.add(b7); b7.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) text.setText(text.getText()+"7"); text.requestFocus(); { } }); /**********设置8键***************/ final JButton b8 = new JButton("8"); b8.setBounds(82,135,72,50); window.add(b8); b8.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) text.setText(text.getText()+"8"); text.requestFocus(); { } }); /***********设置9键**************/ final JButton b9 = new JButton("9"); b9.setBounds(154,135,72,50); window.add(b9); b9.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {   } text.setText(text.getText()+"9"); text.requestFocus(); }); /***********设置加法键**************/ final JButton Add = new JButton("+"); Add.setBounds(154,283,72,50); window.add(Add); Add .addActionListener(new ActionListener() { {   text.setText(text.getText()+"+");   text.requestFocus(); public void actionPerformed(ActionEvent e)   } }); /***********设置减法键**************/ final JButton Sub = new JButton("-"); Sub.setBounds(298,183,80,50); //设置减法键的位置 window.add(Sub); //把减号键添加到窗口中 Sub.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)   text.setText(text.getText()+"-"); text.requestFocus(); {   } }); /***********设置乘法键**************/ final JButton Multi = new JButton("*"); Multi.setBounds(226,183,72,50); window.add(Multi); Multi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)   int leng3 = text.getText().length(); if(leng3 >= 1 )   {   }   else {   JOptionPane.showMessageDialog(null,"您输入的第一个字符为乘号,不text.setText(text.getText()+"*"); text.requestFocus(); {   符合要求请重新输入:");   } }); } text.requestFocus(); /***********设置除法键**************/ final JButton Div= new JButton("/"); Div.setBounds(226,135,72,50); window.add(Div); Div.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)   int leng4 = text.getText().length();   if(leng4 >= 1 )   {   }   else {   JOptionPane.showMessageDialog(null,"您输入的第一个字符为除号,不text.setText(text.getText()+"/"); text.requestFocus(); {   符合要求请重新输入:");   text.requestFocus();   } }); /***********设置等号键**************/ final JButton equal = new JButton("="); equal.setBounds(226,283,153,50); window.add(equal); equal .addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) ScriptEngineManager sem = new ScriptEngineManager(); ScriptEngine se = sem.getEngineByName("js"); try{ int leng5 = text.getText().length(); if(leng5==0) { JOptionPane.showMessageDialog(null, "对不起,您没有任何   text.requestFocus(); { } 输入,请重新输入:");   } else { String reslut =   se.eval(text.getText()).toString();   }   } text.setText(text.getText()+"="+reslut); text.requestFocus(); }catch (ScriptException evt){ JOptionPane.showMessageDialog(null,"表达式错误,请重新输入! text.setText(""); text.requestFocus(); } ");   }); /***********设置小数点键**************/ final JButton point = new JButton("."); point.setBounds(82,283,72,50); window.add(point); point.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)   int leng6 = text.getText().length();   if(leng6 > 0)   {   }   else {   JOptionPane.showMessageDialog(null,"您输入的第一个字符为小数点,text.setText(text.getText()+"."); text.requestFocus(); {   不符合要求请重新输入:");   text.requestFocus();   } }); /***********设置左括号键**************/ final JButton left = new JButton("("); left .setBounds(226,233,72,50); //设置左括号键的位置 window.add(left); //把左括号键添加到窗口中 left.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) text.setText(text.getText()+"("); text.requestFocus(); { } } });   /***********设置右括号键**************/ final JButton right = new JButton(")"); right.setBounds(298,233,80,50); //设置右括号键的位置 window.add(right); //把右括号键添加到窗口中 right.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)   int leng7 = text.getText().length();   if(leng7 > 0)   {   }   else   {   JOptionPane.showMessageDialog(null,"您输入的第一个字符为右括号,text.setText(text.getText()+")"); text.requestFocus(); {   不符合要求请重新输入:");   text.requestFocus();   } }); /***********设置清屏键**************/ final JButton ce = new JButton("CE"); ce.setBounds(190,90,186,45); window.add(ce); ce.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)   int leng8 = text.getText().length();   if(leng8 > 0 )   {   }   else   {   } JOptionPane.showMessageDialog(null,"当前以经为空,无需清屏!"); text.requestFocus(); text.setText(""); text.requestFocus(); { }   } }); /***********设置退格键**************/ final JButton back = new JButton("Backspace");   back.setBounds(10,90,180,45); window.add(back); back.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) String message; int leng = text.getText().length(); message=text.getText(); if(leng==0) {   }   else   {   text.setText(message.substring(0,leng-1)); text.requestFocus(); JOptionPane.showMessageDialog(null, "对不起,您没有任何输入无法 text.requestFocus(); { 退格:");   } } }); final JButton Air = new JButton("%"); Air.setBounds(298,135,80,50); window.add(Air); Air.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int leng9 = text.getText().length(); { if(leng9 > 0) { } else { JOptionPane.showMessageDialog(null,"您输入的第一个字符为求text.setText(text.getText()+"%"); text.requestFocus(); 余数,不符合要求请重新输入:");   text.requestFocus();   } }   } }); /*********关闭按钮***********/ window .addWindowListener(new WindowAdapter() { {   System.exit(0); } public void windowClosing(WindowEvent e)   } } });   程序截图   1.初始运行界面   2.运行测试   成绩 指导教师   日期 注:请用A4纸书写,不够另附纸。   第 页,共 页   终于搞定了这份实训报告,受益匪浅啊   一开始想做计算器那个课题,原因很简单,就是因为我感觉那个课题很简单,在百度里一搜就搜到了一模一样的源程序。   只是感觉没什么意思,那个界面也不是很好看,又不好玩。   所以就做了现在这个猜数游戏。   一直想编个游戏程序,于是就到网上去搜代码,一下子就搜到了,而且代码很少,简单易懂 。   程序是弄好了,那么简短的程序写起报告就犯难了!不得不把程序再添加些模块,充实充实。   这也让我感觉实训远比想像的难度大,不是网上随便搜一下就可以交差的!不仅需要自己看懂代码,还需要根据自己的需要添加模块,充实代码。   从网上搜的代码都是字符界面的,老师说既然字符界面的没挑战性,那就做图形界面的好了。   做图形界面就有点犯难了,首先没有什么程序可以参照了,必须自己充分理解字符界面的源代码,然后逐步修改完善。   我依据课本上的GUI章节设计了此次的java简单程序,根本实现了课题的要求,还添加了图片以增加视觉效果,以及确定按钮方便用户确定输入数字。   通过这次实训我的体会归纳为以下4点:   1. 态度第一 摆正自己的心态,不要以为什么东西上网搜搜就可以了,一定要有自己的东西。   只有自己付出过,当程序运行成功时的那种喜悦才会令自己有一种莫名的自豪感。   态度决定一切!   2. 兴趣是关键 我的学习完全是兴趣导向的,所以压力并不大。   因为有兴趣,所以我会很想充分理解一切细节。   又因为理解,所以许多原本片片断断的知识都可以渐渐互相融会贯穿,累积技术能量,理论和实务之间的藩篱被打破了,学习效率倍增。   学习并快乐着!   3. 敢于挑战 不安于现成的程序,要敢于用多种方法实现一个目的。   现在的网络科技很兴旺,想要一个源程序确实很简单,所以很多人都是在自己都不明白题目要求时,就可以在网上搜到一模一样的代码,根本没有自己的东西。   挑战自我是项艰巨的任务。   只有坚持自己多看代码多写程序才会有更多的收获。   4. 不懈追求 要对源代码进展不断地完善,要尽可能地实现课题所要求的功能。   对初学者来说,大量地写程序是必要的,但过了某个阶段之后,写程序所带来的技术能力成长已经到了极限,还不如多花一点时间看书,学新技术和新观念。   可以从实现源程序功能着手,比方添加写模块啊什么的,实现更多功能。   看着自己编的程序能成功运行,这样自己会更感兴趣,也就会乐此不疲。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服