课程设计-设计一个小学算术运算测试软件

上传人:wuxin****2020 文档编号:103848582 上传时间:2022-06-09 格式:DOC 页数:19 大小:124KB
收藏 版权申诉 举报 下载
课程设计-设计一个小学算术运算测试软件_第1页
第1页 / 共19页
课程设计-设计一个小学算术运算测试软件_第2页
第2页 / 共19页
课程设计-设计一个小学算术运算测试软件_第3页
第3页 / 共19页
资源描述:

《课程设计-设计一个小学算术运算测试软件》由会员分享,可在线阅读,更多相关《课程设计-设计一个小学算术运算测试软件(19页珍藏版)》请在装配图网上搜索。

1、 课程设计报告书 课程名称 Java程序设计语言 设计题目 设计一个小学算术运算测试软件 专业班级 软件12-5班 学 号 姓 名 指导教师 2014 年 6 月目录1 设计时间32 设计目的33 设计题目34 设计任务34.1 设计界面34.2 设计时间35 设计内容46 功能模块实现46.1 JComboBOx的事件的实现46.2 Buttonn事件实现56.3 两个Button事件实现选项76.4 复选框事件的实现77 运行与测试88 总结与展望9 参考文献10 成绩评定10 附录11 1 设计时间6月16日到6月22日2 设计目的综合运用图形用户界面设计的概念,熟悉使用中间面板组成层次

2、结构复杂的GUI界面,熟悉使用时间驱动编程,熟悉使用内部类。3 设计题目设计一个小学算术运算测试软件软件基本功能:设计GUI界面,通过选择不同运算符(如加减法、乘除法)及运算数的范围(如10以内、100以内等)后随机产生指定书目(10道,20道等)的运算式子,测试提交后自动评分,根据不同测试结果给出提示(如“你真棒”,”继续努力”等。4设计任务 4.1 设计界面 在纸上设计图纸,然后用Java语言设计基本代码,然后再让其在程序中运行出来,如上图所示。4.2设计事件1, 关于JComboBOx的事件2, 关于Button的事件设计 3,关于JRadioButton的事件设计5 设计内容 先设计G

3、UI 界面,在基础上实现 JComboBOx, 这个控件主要实现的功能是当在下拉列表中选定选定操作类型之后,在像行的ope位置上将其置为相应的操作符。 Button事件,这个控件主要实现操作数运算结果和文本框中结果的比对,实现label1,label2中显示做对 多少题,做了多少题。两个Button事件实现,这两个按钮主要实现选择了多少道题,按“10道题”的时候,总共选择10道题,按“20道题”的时候,总共选择20道题。复选框事件的实现,这个控件主要实现选择10以内的题还是100以内的题,设置常数,实现选择。6 功能模块实现 6.1 JComboBOx的事件的实现 这个控件主要实现的功能是当在

4、下拉列表中选定选定操作类型之后,在像行的ope位置上将其置为相应的操作符。代码部分如下:public class itemevent implements ItemListener/实现下拉列表框的事件public void itemStateChanged(ItemEvent e) if(jrbut.getSelectedIndex()=0) /如果下拉列表框中选定的是第一项,即加号calcuType=1;ope.setText(+);/将操作符的部分置为“+”号else if(jrbut.getSelectedIndex()=1) /如果下拉列表框中选定的是第二项项,即减号calcuTyp

5、e=2;ope.setText(-);/将操作符的部分置为“-”号else if(jrbut.getSelectedIndex()=2)/如果下拉列表框中选定的是第三项项,即减号calcuType=3;ope.setText(*);/将操作符的部分置为“*”号elsecalcuType=4;ope.setText(/);/将操作符的部分置为“/”号6.2 Button事件实现 这个控件主要实现操作数运算结果和文本框中结果的比对,实现label1,label2中显示做对 多少题,做了多少题。 代码部分如下:public class itemevent implements ItemListene

6、r/实现下拉列表框的事件public void itemStateChanged(ItemEvent e) if(jrbut.getSelectedIndex()=0) /如果下拉列表框中选定的是第一项,即加号calcuType=1;ope.setText(+);/将操作符的部分置为“+”号else if(jrbut.getSelectedIndex()=1) /如果下拉列表框中选定的是第二项项,即减号calcuType=2;ope.setText(-);/将操作符的部分置为“-”号else if(jrbut.getSelectedIndex()=2)/如果下拉列表框中选定的是第三项项,即减号

7、calcuType=3;ope.setText(*);/将操作符的部分置为“*”号elsecalcuType=4;ope.setText(/);/将操作符的部分置为“/”号int op=0;class ButtonListener implements ActionListenerpublic void actionPerformed(ActionEvent event)int x=0,y=0,z=0,temp=0;if(answer.getText().length()=0)/如果是answer中字符创长度为零的话,什么也不做else/否则就做以下部分tryz=(int)Integer.va

8、lueOf(answer.getText();x=(int)Integer.valueOf(operate1.getText();y=(int)Integer.valueOf(operate2.getText();catch(Exception e)if(calcuType=1)/如果是加法if(x+y=z)rightnum+; label3.setText(你真棒!);/如果做对,输出你真棒else label3.setText(加油哦!);/否则输出加油哦else if(calcuType=2)/如果是减法if(x-y=z)rightnum+; label3.setText(你真棒!);/

9、如果做对,输出你真棒else label3.setText(加油哦!);/否则输出加油哦else if(calcuType=3)/如果是乘法if(x*y=z)rightnum+; label3.setText(你真棒!);/如果做对,输出你真棒else label3.setText(加油哦!);/否则输出加油哦else/或者是除法if(x/y=z)rightnum+; label3.setText(你真棒!);/如果做对,输出你真棒else label3.setText(加油哦!);/否则输出加油哦if(t=9)/判断是10以内的x=(int)(9*Math.random();while(x=

10、0)x=(int)(Math.random();y=(int)(9*Math.random();while(y=0)y=(int)(Math.random();if(xy)temp=x;x=y;y=temp;/产生随机数operate1.setText(String.valueOf(x);operate2.setText(String.valueOf(y);/设置操作数else/当是100以内的数时x=(int)(99*Math.random();while(x=0)x=(int)(Math.random();y=(int)(99*Math.random();while(y=0)y=(int)

11、(Math.random();if(xy)temp=x;x=y;y=temp;operate1.setText(String.valueOf(x);operate2.setText(String.valueOf(y);if(xop)System.exit(0);6.3 两个Button事件实现选项这两个按钮主要实现选择了多少道题,按“10道题”的时候,总共选择10道题,按“20道题”的时候,总共选择20道题。代码部分如下public class event implements ActionListener public void actionPerformed(ActionEvent e)

12、if(e.getSource()=but1) op=10; la1.setText(共有+op+道题); else if(e.getSource()=but2) op=20; la1.setText(共有+op+道题); 6.4 复选框事件的实现这个控件主要实现选择10以内的题还是100以内的题,设置常数,实现选择。代码部分如下public class action implements ActionListener Overridepublic void actionPerformed(ActionEvent e) if(e.getSource()=myradio1)/如果是复选框1中被选定

13、t=9;elset=90; 7运行与测试 加法 减法乘法除法8总结与展望在整个设计中也遇到了不少的问题,但通过仔细的检查与研究问题都一一解决了。在整个实验设计的过程中,我不但加深了对这门课的理解同时也巩固了Java程序的整体结构。通过实验中发现的问题,使我明白了自己原来的知识都太过理论化了,面对单独的课题时是多么的茫然。自己要学习的东西还有很多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过实验,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己的知识和综合素质。 总之,单靠书本上的理论知识是无法体现出知识的真正价值的!很多时候,我们以为我们都

14、会了,但等到用的时候才发现是两回事,所以我们必须通过实际的操作应用去分析理解它!参考文献1 屈辉立,陈可明,石武信.JSP网站编程教程M.第1版, 北京:北京希望电子出版社,2005 2 白勇.用B/S模式构建在线考试系统J,重庆电力高等专科学校学报,2003,10(4): 100130. 3 Jiang Guo,Yuehong Liao,Behzad Parviz.A Survey of J2EE Application Performance Management SystemsJ,Proceedings of the IEEE International Conference on We

15、b Services (ICWS04),2004.6(5):1732.4 VB数据库管理范例: 成绩评定成绩 教师签字附录:package myjava;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class calculate JFrame frame =new JFrame();int totalnum=0;int rightnum=0;int calcuType=1;static int t=9;JLabel operate1=new JLabel();JLabel ope=new JLabe

16、l(+);JLabel operate2=new JLabel();JLabel equl=new JLabel(=);JTextField answer=new JTextField(,5);JPanel p1=new JPanel();JRadioButton myradio1, myradio2;JButton ok=new JButton(确认);JLabel label1=new JLabel(已做+totalnum+题);JLabel label2=new JLabel(做对+rightnum+题);JPanel p2=new JPanel();JLabel label3;Stri

17、ng str=加法,减法,乘法,除法;JComboBox jrbut=new JComboBox(str);JPanel opt =new JPanel();JButton but1, but2;JLabel la1;public calculate()opt.add(jrbut);jrbut.setSelectedIndex(0);frame.setLocation(400,100);frame.setLayout(new GridLayout(3,1);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);p1.add(operate1)

18、;p1.add(ope);p1.add(operate2);p1.add(equl);p1.add(answer);p1.add(jrbut);frame.add(p1);p2.add(ok); but1=new JButton(10题); but2=new JButton(20题); label3=new JLabel(); p2.add(label3);p2.add(but1);p2.add(but2);but1.addActionListener(new event();but2.addActionListener(new event();frame.add(p2);JPanel pl=

19、new JPanel();pl.add(label1);pl.add(label2);la1=new JLabel();pl.add(la1);frame.add(pl); myradio1=new JRadioButton(10以内); myradio2=new JRadioButton(100以内);ButtonGroup group= new ButtonGroup();group.add(myradio1);group.add(myradio2);pl.add(myradio1);pl.add(myradio2);myradio1.setSelected(true);frame.add

20、(pl);myradio1.addActionListener(new action();myradio2.addActionListener(new action();int x,y,temp;if(t=9)x=(int)(9*Math.random();while(x=0)x=(int)(Math.random();y=(int)(9*Math.random();while(y=0)y=(int)(Math.random();if(xy)temp=x;x=y;y=temp;operate1.setText(String.valueOf(x);operate2.setText(String.

21、valueOf(y);elsex=(int)(99*Math.random();while(x=0)x=(int)(Math.random();y=(int)(99*Math.random();while(y=0)y=(int)(Math.random();if(xy)temp=x;x=y;y=temp;operate1.setText(String.valueOf(x);operate2.setText(String.valueOf(y);frame.setVisible(true);frame.setSize(400, 150);jrbut.addItemListener(new item

22、event();ok.addActionListener(new ButtonListener();label1.setText(已做+totalnum+题);label2.setText(做对+rightnum+题);la1.setText(共有+op+道题);public class itemevent implements ItemListener/实现下拉列表框的事件public void itemStateChanged(ItemEvent e) if(jrbut.getSelectedIndex()=0) /如果下拉列表框中选定的是第一项,即加号calcuType=1;ope.se

23、tText(+);/将操作符的部分置为“+”号else if(jrbut.getSelectedIndex()=1) /如果下拉列表框中选定的是第二项项,即减号calcuType=2;ope.setText(-);/将操作符的部分置为“-”号else if(jrbut.getSelectedIndex()=2)/如果下拉列表框中选定的是第三项项,即减号calcuType=3;ope.setText(*);/将操作符的部分置为“*”号elsecalcuType=4;ope.setText(/);/将操作符的部分置为“/”号int op=0;class ButtonListener impleme

24、nts ActionListenerpublic void actionPerformed(ActionEvent event)int x=0,y=0,z=0,temp=0;if(answer.getText().length()=0)/如果是answer中字符创长度为零的话,什么也不做else/否则就做以下部分tryz=(int)Integer.valueOf(answer.getText();x=(int)Integer.valueOf(operate1.getText();y=(int)Integer.valueOf(operate2.getText();catch(Exception

25、e)if(calcuType=1)/如果是加法if(x+y=z)rightnum+; label3.setText(你真棒!);/如果做对,输出你真棒else label3.setText(加油哦!);/否则输出加油哦else if(calcuType=2)/如果是减法if(x-y=z)rightnum+; label3.setText(你真棒!);/如果做对,输出你真棒else label3.setText(加油哦!);/否则输出加油哦else if(calcuType=3)/如果是乘法if(x*y=z)rightnum+; label3.setText(你真棒!);/如果做对,输出你真棒e

26、lse label3.setText(加油哦!);/否则输出加油哦else/或者是除法if(x/y=z)rightnum+; label3.setText(你真棒!);/如果做对,输出你真棒else label3.setText(加油哦!);/否则输出加油哦if(t=9)/判断是10以内的x=(int)(9*Math.random();while(x=0)x=(int)(Math.random();y=(int)(9*Math.random();while(y=0)y=(int)(Math.random();if(xy)temp=x;x=y;y=temp;/产生随机数operate1.setT

27、ext(String.valueOf(x);operate2.setText(String.valueOf(y);/设置操作数else/当是100以内的数时x=(int)(99*Math.random();while(x=0)x=(int)(Math.random();y=(int)(99*Math.random();while(y=0)y=(int)(Math.random();if(xy)temp=x;x=y;y=temp;operate1.setText(String.valueOf(x);operate2.setText(String.valueOf(y);if(xop)System.

28、exit(0);public class event implements ActionListener public void actionPerformed(ActionEvent e) if(e.getSource()=but1) op=10; la1.setText(共有+op+道题); else if(e.getSource()=but2) op=20; la1.setText(共有+op+道题); public class action implements ActionListener Overridepublic void actionPerformed(ActionEvent e) if(e.getSource()=myradio1)/如果是复选框1中被选定t=9;elset=90;public static void main(String args)new calculate();

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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