当前位置:文档之家› 计算器课程设计报告

计算器课程设计报告

高级语言程序(JAVA)课程设计报告系部名称:商学系专业班级:营销***学生姓名:墨璇墨兰学号:********************指导教师:王芬教师职称:讲师2014年06月26日目录一、课程设计目的及意义 .................................... 错误!未定义书签。

二、课程设计任务 .......................................... 错误!未定义书签。

2.1程序设计要求....................................... 错误!未定义书签。

三、课程设计时间 .......................................... 错误!未定义书签。

四、课程设计地点 .......................................... 错误!未定义书签。

五、课程设计内容 .......................................... 错误!未定义书签。

5.1开发工具与平台..................................... 错误!未定义书签。

(1).开发工具 ...................................... 错误!未定义书签。

(2).开发平台 ...................................... 错误!未定义书签。

5.2设计思路........................................... 错误!未定义书签。

5.3 程序测试 .......................................... 错误!未定义书签。

5.4实验总结........................................... 错误!未定义书签。

六、课程设计感想 .......................................... 错误!未定义书签。

七、附录(程序代码) ...................................... 错误!未定义书签。

一、课程设计目的及意义作为市场营销电子商务方向的学生,有必要学习掌握java语言程序设计课程,通过编写一个完成一个实现简单计数器功能的程序,以及完成一个实现简单文本编辑器功能的程序,加深我们对java语言基本要素的理解:1、通过熟练掌握java面向对象编程;2、选择合适的数据结构实现需求;3、熟练使用各种控制结构;4、GUI组件、事件处理技术;通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。

掌握编程方法与技巧,学习Java和编写简单的计算器,活跃大脑思维达到学以致用的目的!二、课程设计任务在老师的带领和要求下,设计一个易的计算器,可简以进行四则运算:加、减、乘、除等( 限于十进制下)。

2.1程序设计要求(1)应具有相应的界面,可参考Windows操作系统自带的计算器界面。

(2)操作符号定为:“+”,“-”,“*”,“/”,“+/-”等。

【按国际惯例设计】(3)用户通过点击程序界面上按钮,实现数字、运算符的输入操作。

(4)具有操作符号“1/x”,“sqrt”(开方),“.”(小数功能)等。

【选作部分】三、课程设计时间本次java课程设计安排在2013~2014学年第二学期第16~18周进行,具体时间为2014年6月9日~2014年6月27日。

四、课程设计地点中原工学院信息商务学院一号楼四楼机房五、课程设计内容5.1开发工具与平台(1).开发工具:我们本次课程设计报告选用的开发工具是Eclipse开发工具。

(2).开发平台:本次设计简易计算器采用Java汇编语言进行编码实现,课程设计可选用NetBeans、Eclipse、JBuilder等作为开发平台以提高开发效率,故需要安装JDK 环境和不同底层的运行平台-java虚拟机,或者安装在JDK环境下可以进行编译运行Java编码的软件,如J标准版,J企业版,Myeclipse等软件。

我们使用的开发平台是JDK1.6。

5.2设计思路(1).界面设计我们的程序先把图形用户界面所需的类和接口。

而import javax.swing.*;提供了一组:“轻量级”组件,尽量让这些组件在工作平台上的工作方式都相同。

用class关键字来定义一个公共类,类名为“计算器”,来继承Frame对象。

由所学知识可得Frame为顶层容器,默认情况下一个Frame对象就具有一个边界,标题,最大化,最小化,关闭按钮的窗口。

container=getContentPane()得到一个容器容量接着布局new出一个GridBagLayout布局管理器,接着初始化组件的容器,布局,和格式,这就需要用到所学的面板,单行文本输入区,外形控制,我们所定义的单行文本输入区即为计算区域,把计算区域加入到窗口。

而界面设计要符合本次课程设计要求:先将标签文本框按键等轻量级控件放在中间容器中,再将容器添加到顶层容器中。

同时对按钮创建按钮事件监听器,以随时对按钮事件进行监听。

具体界面设计要求用GUI,界面设计中,有用到swing组件的TextField和Button,用awt中的BorderLayout和GridLayout布局管理方式,窗体名称“java 编写的计算器”,继承JFrameActionListener接口,并且还实现public void actionPerformed(ActionEvent e){}方法。

定义按钮、文本框、容器,设置其为为private类,displayField.setText(displayField.getText()+input);//输入小数点时,判断是否已经输入过小数点。

另外有课程设计要求和计算器的程序代码可知需要定义监听器,就如程序ActionListen er insert = new InsertAction(); //定义两个监视器ActionListener command = new CommandAction();addButton("Bck",0,1,1,1,insert); //通过定义好的方法添加按钮;displayField.setBackground(Color.gray);//定义计算区域的背景颜色。

定义按钮,按钮上的标签是由构造方法中的字符串参数决定,在按钮上显示,其中包括它的宽高,还有字体的颜色大小,格式设置。

如“版权所有,请勿盗版”。

由上述的设计设计及组件间的设置,及其最后的事件监听器等此,一个完整的简易计算出现了。

其中包括了加减乘除的按钮和等于号的按钮,还设置了Bck,CE,CLEAR等按钮。

整个计算器界面的标题为“java编写的计算器”,对此可进行简易的加减乘除运算。

其整体界面如下:(2).逻辑设计逻辑运算用到所学的控制语句中的条件语句if-else(详细算法见源代码)其逻辑程序设计具体如下:private class InsertAction implements ActionListener {//定义Insert事件的方法public void actionPerformed(ActionEvent event) {String input=event.getActionCommand();据所学知识Insert事件实现的是所定义的接口ActionListener,如下程序代码定义了一个actionPerformed()方法以便控制动作事件,该方法负责监听事件,并负责监听事件,并执行对应的操作,具体就是当按下一个button按钮是就会产生一个ActionEvent事件,该事件就不会被传递给事件源 button,通过添加ActionListener事件监听所注册的监听ActionEvent动作事件的监听器,自动调用actionPerformed()方法来处理该事件。

if (start) {displayField.setText(""); //默认计算区域为空start=false;if(input.equals("+/-"))displayField.setText(displayField.getText()+"-"); //如果开始输入的是"+/-",以负数显示}if(!input.equals("+/-")) {if(input.equals("Bck")) {String str=displayField.getText();if(str.length()>0)displayField.setText(str.substring(0,str.length()-1)); //如果单击退格,实现退格的功能}else if(input.equals("CE")||input.equals("CLEAR")) {displayField.setText("0");start=true; //实现清零和复位的功能}else if(input.equals("版权所有,请勿盗版!")){}else if(input.equals(".")){if(displayField.getText().trim().indexOf(".")!=-1){}elsedisplayField.setText(displayField.getText()+input);//输入小数点时,判断是否已经输入过小数点}elsedisplayField.setText(displayField.getText()+input);}}}这些是 if语句,if-else 语句,输入一个命令事件的字符串如果是start 命令的字符串,默认的的计算区域就为空;如果输入一个正负号字符串,计算区域就以负号显示;如果输入一个非正负号字符串,和输入一个BACK字符串,计算区域都以空值显示;如果字符串的长度大于零,就会得到已知位置的字符串,当输入“CE”和“C”计算区显示恢复为零还有输入小数点时,判断是否已经输入过小数点,另外需要知道indexOf给定的是否前边出现过,若出现过,返回第一次出现的位置下标,否则返回值为负一。

相关主题