JAVA课程设计计算器小程序报告.pdf

上传人:叶*** 文档编号:36104803 上传时间:2022-08-25 格式:PDF 页数:17 大小:353.78KB
返回 下载 相关 举报
JAVA课程设计计算器小程序报告.pdf_第1页
第1页 / 共17页
JAVA课程设计计算器小程序报告.pdf_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《JAVA课程设计计算器小程序报告.pdf》由会员分享,可在线阅读,更多相关《JAVA课程设计计算器小程序报告.pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、#学院学院JAVA 语言课程设计报告小程序计算器系统管理小程序计算器系统管理班班级:级:#姓姓名:名:#指导老师:指导老师:#时间:时间:20122012 年年 6 6 月月 2525 日至日至 6 6 月月 2929 日日2目录目录1 1、课程设计概述、课程设计概述-3 31.11.1 利用利用 java 编写计算器编写计算器,使之具备一定的功能使之具备一定的功能:-3 31.21.2 课程设计的主要思想课程设计的主要思想-3 31.31.3 该项目设计的目的该项目设计的目的-3 32 2、需求分析方案、需求分析方案-4 42.12.1 功能需求分析功能需求分析-4 42.22.2 性能需求

2、分析性能需求分析-4-43 3、总体设计方案、总体设计方案-5-53.13.1界面设计界面设计-5 53.23.2功能介绍功能介绍-5 54 4、详细说明、调试详细说明、调试3-6-64.14.1程序流程图程序流程图- -6 64.24.2部分代码说明部分代码说明-6 64.34.3程序调试与结果示例程序调试与结果示例-8 85 5、个人总结个人总结-10106 6、附录(代码)附录(代码)- -11116.16.1登陆界面代码登陆界面代码-11116.26.2计算器主界面计算器主界面-12126.36.3退出界面代码退出界面代码-151541.1.课程设计概述课程设计概述1.1 利用利用 j

3、ava 编写计算器,使之具备一定的功能编写计算器,使之具备一定的功能:(1)使用图形用户界面:一个文本框;0-9 数字按钮;加、减、乘、除运算符; “等于”符号;复位按钮;(2)完成整数、实数的四则运算(加、减、乘、除) ;(3)通过按钮点击实现数据的复位(清零) ;(4)实数运算中小数位的精度一致。1.2 课程设计的主要思想课程设计的主要思想首先要设计一个登录界面,必须输入密码并正确才能进入到计算器界面;对于此计算器程序, 要设计其 GUI 界面, 总体界面有一个文本框, 18 个按钮,总体界面用 BorderLayout 布局。文本框放置在最 NORTH,然后 0 到 9 以及+,-,*,

4、/的按钮放置到一个面板Panel 中,添加到整体布局的 CENTER,界面设计完成。布局设计好后再添加按钮事件。对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮, 如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除。最后还需要一个退出界面。重要的是必须把三个界面的代码放在同一个包里。1.31.3 该项目设计的目的该项目设计的目的(1)理解

5、并掌握 Java 中的类、对象、继承、方法等概念,以及Applet 的基本框架和事件处理的方法。(2)学会一些按钮,标签,主件,文本框的使用;(3)学会使用 JDK 编写、调试和运行 Java Applet 应用程序。(4)利用 awt 组件编写一个计算器,实现基本的四则运算。52.2.需求分析需求分析2.12.1 功能需求分析功能需求分析在日常生活中经常需要用到计算器,比如科学计算、数值计算、会计业务等,在 Applet 中实现一个精巧实用的计算器,可以让用户在使用网站服务的同时,可以很方便地进行数据运算,可增加页面的实用性,同时让用户的操作也更方便与快捷。本项目需要实现一个用Java 中的

6、类、对象、继承、方法等概念以及 awt 主键和 Applet 的基本框架和事件处理的方法。简单的四则运算的计算器,拥有加、减、乘、除功能,除此之外要三个界面即:登录面,计算器主界面,退出界面,要剧本的功能就是点击登录界面可以前往计算器主界面,退出可以到达退出界面。2.22.2 性能需求分析性能需求分析实用性:在实现此过程中,我们要考虑到,计算的实用性,能过用于哪些方面。准确性:在实现此过程中,我们要考虑到,怎样使计算器界面更简单,让人更容易明白它怎样去用。连贯性:在此项目中,要让登陆界面,计算器主界面,退出界面能连起;即:运行登陆界面,密码正确时能登陆到计算器主界面,点主界面退出时能到达退出界

7、面,给人以提示。3 3 总体设计总体设计63.13.1 界面设计界面设计界面设计要求用 GUI,界面设计中有用到 swing 组件的 TextField、Button,和 JLable 用到 awt 中的 BorderLayout 和 GridLayout 布局管理方式,其图形界面如下:登陆界面登陆界面计算器主界面计算器主界面退出提示界面退出提示界面3.23.2 功能介绍功能介绍(1)本项目分为三个界面,登录,计算器,退出三个界面,点击登录输入密码正确就可以登录到计算器界面,退出计算器界面还可以再次登录。 (2)这是计算器中的一种:简单计算器,本项目用到了 Java 中的 GUI 界面和swi

8、ng 组件以及 awt 布局,所以简单易用,它能完成如下的几个小功能:点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算 ;还能通过用户自己在文本框中输入数字,进行简单运算 ;如果输入有误时可以点“清除”撤销后重新输入新数据 .4.4.详细设计说明、调试详细设计说明、调试4.14.1 程序流程图程序流程图:7开始登录界面计算器界面运算器数据运算符号功能模块输出结果退出界面继续退出再次登录4.24.2 部分代码说明部分代码说明段代码主要是对程序的主框架进行相应的设置。段代码主要是对程序的主框架进行相应的设置。Frame f=newnew Frame(计算器小程序);f.setB

9、ackground(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(truetrue);/设置为可见添加相应的按钮添加相应的按钮8B0.addActionListener(thisthis);/7B1.addActionListener(thisthis);/8B2.addActionListe

10、ner(thisthis);/9B3.addActionListener(thisthis);/除号B4.addActionListener(thisthis);/4B5.addActionListener(thisthis);/5B6.addActionListener(thisthis);/*乘号B8.addActionListener(thisthis);/1B9.addActionListener(thisthis);/2B10.addActionListener(thisthis);/3B11.addActionListener(thisthis);/ -减号B12.addActio

11、nListener(thisthis);/0B13.addActionListener(thisthis);/.小数点B14.addActionListener(thisthis);/=等于号B15.addActionListener(thisthis);/+加好b1.addActionListener(thisthis);b2.addActionListener(thisthis);f.addWindowListener(newnew closeWin();运算设计代码:运算设计代码:ifif(command=清除)/清零键按下时返回初始状态y=0;tf.setText(0.);s1=;s2

12、=;s3=;/记录输入值的变量清空elseelse ifif(command=退出)System.exit(0);/退出键关闭应用程序elseelse ifif(y=0&command!=*&command!=/&command!=+&command!=-&command!=)/判断输入是否为数字s1=s1.concat(command);tf.setText(s1);ifif(command=*|command=/|command=+|command=-)/判断是否输入运算符y=1;s2=command;ifif(y=1&command!=*&command!=/&command!=+&co

13、mmand!=-&command!=)9s3=s3.concat(command);tf.setText(s3);ifif(command=)Double ob1=Double.valueOf(s1);Double ob3=Double.valueOf(s3);d1=ob1.doubleValue();d3=ob3.doubleValue();ifif(s2=+)d4=d1+d3;ifif(s2=-)d4=d1-d3;ifif(s2=*)d4=d1*d3;Double ob4=newnew Double(d4);tf.setText(ob4.toString();ifif(s2=/)ifif(

14、d3=0)tf.setText(除数不能为零);elseelse d4=d1/d3;ob4=newnew Double(d4);tf.setText(ob4.toString();y=0;4.34.3 程序调试与结果示例程序调试与结果示例1.运行登录界面,输入密码,正确和错误两种情况;当输入正确时会弹出计算器界面,如果错误也会提示你,点击“重置”就可以重新输入密码2.当除数为0时,结果显示“除数不能为零” “if(d3=0)tf.setText(除数为零)”103预计“32+3=35” ,结果显示“35.0”4.4.预计“5-7=-2” ,实际结果显示“-2.0”5. 当不需要计算时,点击“退

15、出”或关闭窗口时会弹出退出界面,会提示你是否真的退出,如需要重新登录就点击“再次登录” ,如不需要登录就点击“退出”或关闭窗口。115.5.个人总结个人总结附录附录: (代码)(代码)6.16.1 登录界面的代码:登录界面的代码:importimport javax.swing.*;importimport java.awt.*;importimport java.awt.event.*;publicpublic classclass jiemian extendsextends JFrame implementsimplements ActionListenerJButton button1

16、,button2;JTextField text1,text2;JLabel jlb,jlb1,jlb2;publicpublic jiemian()supersuper(java小程序登陆窗口);Container con=getContentPane();con.setLayout(nullnull);jlb=newnew JLabel(您好!欢迎您登陆java小程序计算器);jlb1=newnew JLabel(请输入秘密:);/标签button1=newnew JButton(登陆);/登陆按钮button1.addActionListener(thisthis); /添加监听者but

17、ton2=newnew JButton(重置);/取消按钮button2.addActionListener(thisthis); /添加监听者text1=newnew JPasswordField(10);/密码文本框(JPasswordField) text1).setEchoChar(*);/设置掩码text1.addActionListener(thisthis); /添加监听者jlb2=newnew JLabel(密码提示:);/标签text2=newnew JTextField(10);/密码提示文本框/标签,文本框,按钮的位置大小jlb.setBounds(70,0,220,10

18、0);jlb1.setBounds(90,50,80,50);text1.setBounds(80,90,190,30);button1.setBounds(90,210,60,30);button2.setBounds(170,210,60,30);jlb2.setBounds(90,110,90,50);12text2.setBounds(80,150,190,30);con.add(jlb);con.add(jlb1);con.add(jlb2);con.add(text1);con.add(text2);con.add(button1);con.add(button2);setBoun

19、ds(300,200,350,350);setVisible(truetrue);publicpublic staticstatic voidvoid main(String args)newnewjiemian();/函数调用publicpublic voidvoid actionPerformed(ActionEvent e)ifif(text1.getText().equals(ruanjian11312)/判断密码text2.setText(密码正确);newnewjsq().init();/调用计算器主界面函数elseelse ifif(text1.getText().equals(

20、11312)/判断密码text2.setText(密码正确);newnewjsq().init();/调用计算器主界面函数elseelsetext2.setText(对不起,密码错误,请重新输入);ifif(e.getSource()=button2)text1.setText(nullnull);text2.setText(nullnull);/使文本框1、2反空6.26.2 计算器主界面的代码:计算器主界面的代码:importimport java.awt.*;importimport java.awt.event.*;publicpublic classclass jsq impleme

21、ntsimplementsActionListener13Panel p1=newnew Panel();Panel p2=newnew Panel();Panel p3=newnew Panel();TextField tf=newnew TextField(30);Stringa=7,8,9,/,4,5,6,*,1,2,3,-,0,.,=,+,;Button B;Button b1=newnew Button(清除);Button b2=newnew Button(退出);String s1=newnew String();String s2=newnew String();String

22、s3=newnew String();/s1记录第一个数;s2记录运算符;s3记录第二个数;doubledouble d1,d3,d4;intint y=0; / y用于控制运算符publicpublicvoidvoidinit()Frame f=newnew Frame(计算器小程序);f.setBackground(Color.lightGray);f.setForeground(Color.blue);/数字颜色p1.add(tf);p3.setLayout(newnewGridLayout(1,2);p3.add(b1);p3.add(b2);p2.setLayout(newnewGr

23、idLayout(4,4);B=newnew Buttona.length;forfor(intint i=0;ia.length;i+)Bi=newnew Button(ai);p2.add(Bi);f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.CENTER);f.add(p3,BorderLayout.SOUTH);f.setSize(350,300);/设置面板大小f.setVisible(truetrue);/设置为可见B0.addActionListener(thisthis);/7B1.addActionListener(th

24、isthis);/8B2.addActionListener(thisthis);/9B3.addActionListener(thisthis);/除号B4.addActionListener(thisthis);/4B5.addActionListener(thisthis);/5B6.addActionListener(thisthis);/*乘号14B8.addActionListener(thisthis);/1B9.addActionListener(thisthis);/2B10.addActionListener(thisthis);/3B11.addActionListene

25、r(thisthis);/ -减号B12.addActionListener(thisthis);/0B13.addActionListener(thisthis);/.小数点B14.addActionListener(thisthis);/=等于号B15.addActionListener(thisthis);/+加好b1.addActionListener(this);b2.addActionListener(this);f.addWindowListener(new closeWin();publicvoidactionPerformed(ActionEvente)Stringcomma

26、nd=e.getActionCommand();if(command=清除)/清零键按下时返回初始状态y=0;tf.setText(0.);s1=;s2=;s3=;/记录输入值的变量清空else if(command=退出)new tuichu();/调用退出界面函数/退出键退出到退出界面else if(y=0&command!=*&command!=/&command!=+&command!=-&command!=)/判断输入是否为数字s1=s1.concat(command);tf.setText(s1);if(command=*|command=/|command=+|command=-

27、)/判断是否输入运算符y=1;s2=command;if(y=1&command!=*&command!=/&command!=+&command!=-&command!=)s3=s3.concat(command);15tf.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 ob

28、4=newnew Double(d4);tf.setText(ob4.toString();ifif(s2=/)ifif(d3=0)tf.setText(除数不能为零);elseelse d4=d1/d3;ob4=newnew Double(d4);tf.setText(ob4.toString();y=0;publicpublicstaticstaticvoidvoidmain(Stringargs)newnewjsq().init();/函数调用classclass closeWin extendsextends WindowAdapter /为关闭按钮编写程序publicpublic v

29、oidvoid windowClosing(WindowEvent e)new tuichu();/关闭调用退出界面函数6.3退出界面的代码:退出界面的代码:importimport java.awt.Container;importimport java.awt.event.*;importimport javax.swing.JButton;importimport javax.swing.JFrame;importimport javax.swing.JLabel;publicpublic classclass tuichu extendsextends JFrame implement

30、simplements ActionListener16JLabel jlb;JButton button;JButton button2;publicpublic tuichu()supersuper(计算器退出);Container con=getContentPane();con.setLayout(nullnull);jlb=newnew JLabel(谢谢你的光临,欢迎下次登录小程序计算器!);button=newnew JButton(退出);button2=newnew JButton(再次登录);jlb.setBounds(20,0,300,100);button.setBou

31、nds(70,70,60,30);button.addActionListener(thisthis);/添加监听者button2.setBounds(150,70,100,30);button2.addActionListener(thisthis); /添加监听者con.add(jlb);con.add(button);con.add(button2);setBounds(300,200,340,150);setVisible(truetrue);publicpublic staticstatic voidvoid main(String args)newnewtuichu();Overridepublicpublic voidvoid actionPerformed(ActionEvent e) ifif(e.getSource()=button)System.exit(0);/退出程序elseelse ifif(e.getSource()=button2)newnew jiemian();/调用登陆界面函数17

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

当前位置:首页 > 应用文书 > 公文通知

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁