Java编写简单计算器(附源代码)

上传人:宝路 文档编号:23264143 上传时间:2017-11-30 格式:DOCX 页数:22 大小:98.73KB
返回 下载 相关 举报
Java编写简单计算器(附源代码)_第1页
第1页 / 共22页
Java编写简单计算器(附源代码)_第2页
第2页 / 共22页
Java编写简单计算器(附源代码)_第3页
第3页 / 共22页
Java编写简单计算器(附源代码)_第4页
第4页 / 共22页
Java编写简单计算器(附源代码)_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《Java编写简单计算器(附源代码)》由会员分享,可在线阅读,更多相关《Java编写简单计算器(附源代码)(22页珍藏版)》请在金锄头文库上搜索。

1、1:西安交通大学Java 技术与应用大作业简单计算器的编写一、 选题理由这个学期我选择Java 技术与应用 这门课(其实我的选修课已经修完了),完全是对 java 语言的兴趣和老师的个人魅力使然。这门课让我学到了许多知识,了解到了 java 语言的基本语法、结构和特点。由于个人觉得水平有限,并且没有队友,所以选择了较为容易的简易计算器作为我的大作业。二、 系统目标实现对代数表达式的输入、计算、输出。三、 系统分析与设计(1) 计算类 cal 设计编写public class cal public static boolean check(String str) /检验表达式是否正确public

2、 static Float transfer(String str ) /转化为栈的形式并计算public static boolean compare(char a,char b) /比较优先级,判断b 的优先级是否大于等于 a 的优先级2:public static Float transfer(String str )方法为该程序的核心代码,涉及数据结构的知识。(2)人机界面设计通过 swing 可以容易的设计出计算器的人机界面。(3)部分细节普通 Button 内部代码的编写由于要在文本框中输入一串字符串,而不是覆盖之前的输入。因此采用方法:先将文本框中原有的字符串取出,再加上要输入的

3、字符,最后一同输出到文本框。具体代码为String str1 = jButton1.getText();String str2 = jTextField1.getText();jTextField1.setText(str2 + str1); ”=“ Button 的代码编写3:”=“作为一个特殊的 Button,其作用为:先将文本框中的字符串取出,取出后首先判断字符串即表达式是否正确,运用cal.check 方法,若返回值为 true,将字符串表达式送入cal.transfer,返回代数式的值,并在文本框 jTextField 输出。过程涉及各种数据类型的转换。具体代码为String str

4、1 = jTextField1.getText();boolean m = cal.check(str1);if (m = true) Float result = cal.transfer(str1);String last = String.valueOf(result);jTextField1.setText(last); elsejTextField1.setText(default);(4)实验数据与测试用例4:5:四、 使用说明输入数学表达式(可以用鼠标点按钮,也可直接在文本框键盘输入) ,输入后点击”=“按钮,得到计算结果。五、 人员安排自己动手,丰衣足食。六、 程序漏洞与不足。

5、(1)程序健壮性不足。Cal.check 方法代码存在问题,对于部分错误表达式没有报错。(2)按等号按键计算输出后,再按数字按钮不会清空文本框,会在计算结果的基础上继续输入。先自动清空文本框会更好一些。6:七、 开发总结编写这个简易计算器是我编写的第一个成型的小软件,有很多不足。但是在编写的过程中,我对 java 语言有了更加深刻的理解,知道了设计制作软件的一般过程。老师给我的最深的印象就是认真负责,现场编程现场讲解,让我最真实的感受到了一个开发者的思维过程和遇到问题时的处理方法,这在我之前两年课程从来都没有遇到过。总之,感谢老师精彩的课程。八、 附录:完整代码及 jar 文件import j

6、ava.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JTextField;import javax.swing.WindowConstants;import javax.swing.SwingUtilities;/* This code was edited or generated using CloudGardens Jigloo SWT/Swing GUI* Buil

7、der, which is free for non-commercial use. If Jigloo is being used* commercially (ie, by a corporation, company or business for any purpose* whatever) then you should purchase a license for each developer using Jigloo.* Please visit for details. Use of Jigloo implies* acceptance of these licensing

8、terms. A COMMERCIAL LICENSE HAS NOT BEEN* PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR* ANY CORPORATE OR COMMERCIAL PURPOSE.*/public class NewJFrame extends javax.swing.JFrame private JTextField jTextField1;7:private JButton jButton1;private JButton jButton15;private

9、 JButton jButton16;private JButton jButton21;private JButton jButton20;private JButton jButton19;private JButton jButton18;private JButton jButton17;private JButton jButton14;private JButton jButton13;private JButton jButton12;private JButton jButton11;private JButton jButton10;private JButton jButt

10、on9;private JButton jButton8;private JButton jButton7;private JButton jButton5;private JButton jButton4;private JButton jButton3;private JButton jButton2;/* Auto-generated main method to display this JFrame*/public static void main(String args) SwingUtilities.invokeLater(new Runnable() public void r

11、un() NewJFrame inst = new NewJFrame();inst.setLocationRelativeTo(null);inst.setVisible(true););public NewJFrame() super();initGUI();private void initGUI() try 8:setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);getContentPane().setLayout(null);this.setTitle(Mycalculation);jTextField1 = new

12、JTextField();getContentPane().add(jTextField1, North);jTextField1.setPreferredSize(new java.awt.Dimension(460, 72);jTextField1.setBounds(0, 0, 460, 72);jTextField1.setFont(new java.awt.Font(Microsoft YaHei UI, 1,16);jButton1 = new JButton();getContentPane().add(jButton1);jButton1.setText(1);jButton1

13、.setBounds(25, 87, 82, 48);jButton1.setFont(new java.awt.Font(Microsoft YaHei UI, 0, 18);jButton1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) System.out.println(jButton1.actionPerformed, event=+ evt);/ TODO add your code for jButton1.actionPerformedString str1

14、 = jButton1.getText();String str2 = jTextField1.getText();jTextField1.setText(str2 + str1););jButton2 = new JButton();getContentPane().add(jButton2);jButton2.setText(2);jButton2.setBounds(120, 87, 82, 48);jButton2.setFont(new java.awt.Font(Microsoft YaHei UI, 0, 18);jButton2.addActionListener(new Ac

15、tionListener() 9:public void actionPerformed(ActionEvent evt) System.out.println(jButton2.actionPerformed, event=+ evt);/ TODO add your code for jButton2.actionPerformedString str1 = jButton2.getText();String str2 = jTextField1.getText();jTextField1.setText(str2 + str1););jButton3 = new JButton();ge

16、tContentPane().add(jButton3);jButton3.setText(3);jButton3.setBounds(214, 87, 82, 48);jButton3.setFont(new java.awt.Font(Microsoft YaHei UI, 0, 18);jButton3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) System.out.println(jButton3.actionPerformed, event=+ evt);/ TODO add your code for jButton3.actionPerformedString

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号