#####学院JA V A语言课程设计报告小程序计算器系统管理班级:#######姓名:#####指导老师:###时间:2012年6月25日至6月29日目录1、课程设计概述--------------------------------------------------31.1利用java编写计算器,使之具备一定的功能:-----------------31.2 课程设计的主要思想--------------------------------------------------31.3 该项目设计的目的-----------------------------------------------------32、需求分析方案--------------------------------------------------42.1功能需求分析-----------------------------------------------42.2 性能需求分析-----------------------------------------------43、总体设计方案--------------------------------------------------53.1界面设计----------------------------------------------------------------------53.2功能介绍-----------------------------------------------------------------------54、详细说明、调试---------------------------------------------64.1程序流程图-------------------------------------------------------64.2部分代码说明-----------------------------------------------------64.3程序调试与结果示例-------------------------------------------85、个人总结-----------------------------------------------------106、附录(代码)-----------------------------------------------116.1登陆界面代码--------------------------------------------116.2计算器主界面--------------------------------------------126.3 退出界面代码-------------------------------------------151.课程设计概述1.1利用java编写计算器,使之具备一定的功能:(1)使用图形用户界面:一个文本框;0-9数字按钮;加、减、乘、除运算符;“等于”符号;复位按钮;(2)完成整数、实数的四则运算(加、减、乘、除);(3)通过按钮点击实现数据的复位(清零);(4)实数运算中小数位的精度一致。
1.2 课程设计的主要思想首先要设计一个登录界面,必须输入密码并正确才能进入到计算器界面;对于此计算器程序,要设计其GUI界面,总体界面有一个文本框,18个按钮,总体界面用BorderLayout布局。
文本框放置在最NORTH,然后0到9以及+,-,*,/的按钮放置到一个面板Panel中,添加到整体布局的CENTER,界面设计完成。
布局设计好后再添加按钮事件。
对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。
在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除。
最后还需要一个退出界面。
重要的是必须把三个界面的代码放在同一个包里。
1.3 该项目设计的目的(1)理解并掌握Java中的类、对象、继承、方法等概念,以及Applet的基本框架和事件处理的方法。
(2)学会一些按钮,标签,主件,文本框的使用;(3)学会使用JDK编写、调试和运行Java Applet应用程序。
(4)利用awt组件编写一个计算器,实现基本的四则运算。
2.需求分析2.1 功能需求分析在日常生活中经常需要用到计算器,比如科学计算、数值计算、会计业务等,在Applet中实现一个精巧实用的计算器,可以让用户在使用网站服务的同时,可以很方便地进行数据运算,可增加页面的实用性,同时让用户的操作也更方便与快捷。
本项目需要实现一个用Java中的类、对象、继承、方法等概念以及awt主键和Applet的基本框架和事件处理的方法。
简单的四则运算的计算器,拥有加、减、乘、除功能,除此之外要三个界面即:登录面,计算器主界面,退出界面,要剧本的功能就是点击登录界面可以前往计算器主界面,退出可以到达退出界面。
2.2性能需求分析实用性:在实现此过程中,我们要考虑到,计算的实用性,能过用于哪些方面。
准确性:在实现此过程中,我们要考虑到,怎样使计算器界面更简单,让人更容易明白它怎样去用。
连贯性:在此项目中,要让登陆界面,计算器主界面,退出界面能连起;即:运行登陆界面,密码正确时能登陆到计算器主界面,点主界面退出时能到达退出界面,给人以提示。
3总体设计3.1界面设计界面设计要求用GUI,界面设计中有用到swing组件的TextField、Button,和JLable用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如下:登陆界面计算器主界面退出提示界面3.2功能介绍(1)本项目分为三个界面,登录,计算器,退出三个界面,点击登录输入密码正确就可以登录到计算器界面,退出计算器界面还可以再次登录。
(2)这是计算器中的一种:简单计算器,本项目用到了Java中的GUI界面和swing组件以及awt布局,所以简单易用,它能完成如下的几个小功能:点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;还能通过用户自己在文本框中输入数字,进行简单运算;如果输入有误时可以点“清除”撤销后重新输入新数据 .4.详细设计说明、调试4.1程序流程图:4.2部分代码说明段代码主要是对程序的主框架进行相应的设置。
Frame f=new Frame("计算器小程序");f.setBackground(Color.lightGray);f.setForeground(Color.blue)//数字颜色f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.CENTER);f.add(p3,BorderLayout.SOUTH);f.setSize(350,300);//设置面板大小f.setVisible(true);//设置为可见添加相应的按钮B[0].addActionListener(this); //7B[1].addActionListener(this); //8B[2].addActionListener(this); //9B[3].addActionListener(this); //除号B[4].addActionListener(this); //4B[5].addActionListener(this); //5B[6].addActionListener(this); //*乘号B[8].addActionListener(this); //1B[9].addActionListener(this); //2B[10].addActionListener(this); //3B[11].addActionListener(this); // -减号B[12].addActionListener(this); //0B[13].addActionListener(this); //.小数点B[14].addActionListener(this); //=等于号B[15].addActionListener(this); //+加好b1.addActionListener(this);b2.addActionListener(this);f.addWindowListener(new closeWin();运算设计代码:if(command=="清除") //清零键按下时返回初始状态{y=0;tf.setText("0.");s1="";s2="";s3="";//记录输入值的变量清空}else if(command=="退出") System.exit(0);//退出键关闭应用程序else if(y==0&&command!="*"&&command!="/"&&command!="+"&&command!="-"&&command!="=")//判断输入是否为数字{s1=s1.concat(command);tf.setText(s1);}if(command=="*"||command=="/"||command=="+"||command=="-")//判断是否输入运算符{y=1;s2=command;} if(y==1&&command!="*"&&command!="/"&&command!="+"&&command!="-"&&command!="="){s3=s3.concat(command);tf.setText(s3);}if(command=="="){Double ob1=Double.valueOf(s1);Double ob3=Double.valueOf(s3); d1=ob1.doubleValue();d3=ob3.doubleValue();if(s2=="+") d4=d1+d3;if(s2=="-") d4=d1-d3;if(s2=="*") d4=d1*d3;Double ob4=new Double(d4);tf.setText(ob4.toString());if(s2=="/"){ if(d3==0)tf.setText("除数不能为零");else{ d4=d1/d3;ob4=new Double(d4);tf.setText(ob4.toString());}}y=0;}4.3程序调试与结果示例1.运行登录界面,输入密码,正确和错误两种情况;当输入正确时会弹出计算器界面,如果错误也会提示你,点击“重置”就可以重新输入密码2.当除数为0时,结果显示“除数不能为零”“if(d3==0)tf.setText("除数为零")”3.预计“32+3=35”,结果显示“35.0”4.预计“5-7=-2”,实际结果显示“-2.0”5. 当不需要计算时,点击“退出”或关闭窗口时会弹出退出界面,会提示你是否真的退出,如需要重新登录就点击“再次登录”,如不需要登录就点击“退出”或关闭窗口。