java小程序设计.doc

上传人:桔**** 文档编号:563143460 上传时间:2023-01-01 格式:DOC 页数:12 大小:275.50KB
返回 下载 相关 举报
java小程序设计.doc_第1页
第1页 / 共12页
java小程序设计.doc_第2页
第2页 / 共12页
java小程序设计.doc_第3页
第3页 / 共12页
java小程序设计.doc_第4页
第4页 / 共12页
java小程序设计.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《java小程序设计.doc》由会员分享,可在线阅读,更多相关《java小程序设计.doc(12页珍藏版)》请在金锄头文库上搜索。

1、共12 页 2010-12-07 课程设计报告设计题目:用Java编的计算器 院 系班 级设 计 者学 号指导教师设计时间前言:通过上课学习了java程序设计的基本原理和模式,这次又以java语言为基本结合其图形应用界面来设计一个包括加、减、乘、除。还有带括号以及带负号、小数运算的计算程序。系统功能和使用说明:一硬件环境: 本系统适用于现应用各种类型的计算机,内存容量为128MB以上,不必配备的外部附加设备。二软件环境: 本系统的设计采用的是JAVA语言,应在JDK 5.0或者其更高版软件环境下本使用。三系统流程图: 1.下图是本程序的运行后的界面,其标注是此组件在程序中的名字 Textsho

2、wLabelnow2.系统流程图中各个模块的功能说明: 本程序一共包括:构造方法A5i13w(),setup(), windowClosing(), actionPerformed(), appendchar(), countall(), counting(), Iscountnum()和一个windowcloser类。 (1). A5i13w()是构造方法,在程序创建其对象时就调用,初始化次程序的事件的监听机制。 (2). setup()是我定义的方法,是用来初始化程序的图形应用界面,由A5i13w()来调用。 (3). windowClosing()是用来响应用户的关闭功能。 (4). a

3、ctionPerformed()是用来处理每个事件的响应的方法 (5). appendchar()方法的作用是在用户产生事件后向Textshow追加产生此事件的字符串 (6).countall()的意义是在用户按“=”号后,从最里层括号向最外层逐层把括号里的内容传递给counting()方法,并负责对括号本身是否符合数学语法要求进行检验。 (7).counting()方法的作用是首先对无括号的数学表达式有关的数学计算符号进行调整,并检验所有的数学符号,如发现错误的数学符号立即在Labelnow中显示出来。(8).Iscountnum()方法的作用是把“+ - % . ( )”算术符号转化相应的

4、数字,便于程序的流程控制。3.此计算器的基本的计算过程说明:当用户发出计算整个数学表达式的命令后,本计算器首先是对用户向Textshow(即文本域)输入的数学表达式经行括号索检。如果有一层括号,则对括号的内容进行优先计算。如果有多层括号,则按先计算里层括号后计算外层括号的原则进行计算。如果没有发现括号,则只进行一次无括号计算即可。现在是关于要计算的数学表达式,本计算器也能检验此即将计算的数学表达式是否符合数学语法规则。如发现符合数学规则的表达式,则在Labelnow中提示用户,并且Labelnow的背景颜色将变成红色。在计算的开始,计算的过程,计算的出错,计算的成功,我都设计好不同的背景颜色与

5、之对应。用户要注意Labelnow的提示信息。在提示信息的对应要求,我认为次程序是不符合要求的。有几条提示信息只是告诉用户你输入的表达式有问题,并不能很明确的告诉用户他的出错的地方。这是我作为程序的开发者对错误的分类标准把握的不好造成的。是的,这是我的作品的不足。但是,我要说一句话,本程序的重点是计算出合法的数学表达式,而对非法的表达式过于重视是否有一点本末倒置呢?四程序执行的流程图输入数学表达式检验此数学表达式是否有括号把传递过来的数学表达式首先进行校监,后计算。并返回此部分的计算结果检验到和数学语法的括号,把括号的内容传递给下面的计算方法没有检验到括号,则把整个的次数学表达式传递过去,并进

6、行最后一次运算。把此部分数学表达式的计算的结果返回给调用者,用结果把括号内容(含括号)覆盖。调用此程序已写好的追加字符的方法,在“=”号面追加结果。并设置Textshow为不可编辑,以便顺利进入下一轮计算。五程序的调试出错情况: 我在程序的调试过程中最容易发生的错误就是: 就是我画红线的句子即是“Exception in thread AWT-EventQueue-0 java.lang.NumberFormatException”。用户输入的数学表达式在我设计的程序转化为数学计算形式是不可行的。假如是正确的数学表达式,则我的程序在处理数字转化方面是有问题的,为了解决这个问题我花大时间去重写我

7、的程序的核心代码。终于,我找到了一种捷径把无括号的数学表达式进行校正合理的转化为在数字和数字之间只有一个运算符。虽然我就摆平这个问题,但是我为了解程序执行的具体的过程,在DOS中都有关于每一步的提示信息。 六结论: 1.这次课程设计心得 是的,JAVA的功能是十分强大的。借助其强大的平台。我的程序不仅有不错(至少我这样认为)的图形界面,而且其程序本身的功能也得到很好的发挥。次程序支持一般的四则运算(包括括号)。更有状态栏,以便程序在执行过程中向用户反馈一些必要的信息。 2.总结 通过这次课程设计,我真的在实践中学到的不仅是课本知识的巩固和提高,而且还有在实践中使我着手解决不少程序设计的细节问题

8、。它们包括程序算法的设计和图形界面的构建的两大方面。而我个人认为我越早接触,越多接触,越快解决对我本人缩短次过程有重要的意义。 七原程序import java.awt.*;import java.awt.event.*;public class A5i13w extends Frame implements ActionListener private Label Labelshow=new Label(显示区:); private Label Labelsay=new Label(状态:,Label.CENTER); private Label Labelnow=new Label(欢迎使用

9、我,艾全通为你带来的科学计算器,Label.LEFT); private Label Labeltime=new Label(暂且为空);/为以后添加其他的辅助功能 private TextField Textshow=new TextField(40); private Panel pan1=new Panel(); private Panel pan2=new Panel(); private Panel pan3=new Panel(); private Button button1=new Button(1); private Button button2=new Button(2);

10、 private Button button3=new Button(3); private Button button4=new Button(4); private Button button5=new Button(5); private Button button6=new Button(6); private Button button7=new Button(7); private Button button8=new Button(8); private Button button9=new Button(9); private Button button10=new Butto

11、n(0); private Button button11=new Button(+); private Button button12=new Button(-); private Button button13=new Button( ); private Button button14=new Button(); private Button button15=new Button(%); private Button button16=new Button(); private Button button17=new Button(); private Button button18=

12、new Button(清零); private Button button19=new Button(.); private Button button20=new Button(=); private Font wordFont1 =new Font(TimesRoman,Font.BOLD,13); private Font wordFont2 =new Font(TimesRoman,Font.BOLD,30); public A5i13w() /构造方法来初始化本程序的变量 super(我的科学计算器); setup(); button1.addActionListener(this)

13、; button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); button6.addActionListener(this); button7.addActionListener(this); button8.addActionListener(this); button9.addActionListener(this); button10.addActionListener(this);

14、button11.addActionListener(this); button12.addActionListener(this); button13.addActionListener(this); button14.addActionListener(this); button15.addActionListener(this); button16.addActionListener(this); button17.addActionListener(this); button18.addActionListener(this); button19.addActionListener(this); button20.addActionListener(this); addWindowListener(new windowcloser(); setResizable(false); /设置此图形界面是不可以改变大小的 pack(); setVisible(true);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

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