




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 设计内容
3、先设计GUI 界面,在基础上实现 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) /如果下拉列表框中选定的是第二项项,即减号calc
5、uType=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 ItemLis
6、tener/实现下拉列表框的事件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)Intege
8、r.valueOf(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();whil
10、e(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.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=(
11、int)(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
12、 e) 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 o
15、n Web Services (ICWS04),2004.6(5):1732.4 VB数据库管理范例:/down/2j.asp?id=14&cid=23EB/OL 成绩评定成绩 教师签字附录: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
16、t=9;JLabel operate1=new JLabel();JLabel ope=new JLabel(+);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(做对+
17、rightnum+题);JPanel p2=new JPanel();JLabel label3;String 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.setDefault
18、CloseOperation(JFrame.EXIT_ON_CLOSE);p1.add(operate1);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.a
19、ddActionListener(new event();frame.add(p2);JPanel pl=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);
20、pl.add(myradio2);myradio1.setSelected(true);frame.add(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;operat
21、e1.setText(String.valueOf(x);operate2.setText(String.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);f
22、rame.setSize(400, 150);jrbut.addItemListener(new itemevent();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.getSele
23、ctedIndex()=0) /如果下拉列表框中选定的是第一项,即加号calcuType=1;ope.setText(+);/将操作符的部分置为“+”号else if(jrbut.getSelectedIndex()=1) /如果下拉列表框中选定的是第二项项,即减号calcuType=2;ope.setText(-);/将操作符的部分置为“-”号else if(jrbut.getSelectedIndex()=2)/如果下拉列表框中选定的是第三项项,即减号calcuType=3;ope.setText(*);/将操作符的部分置为“*”号elsecalcuType=4;ope.setText(/
24、);/将操作符的部分置为“/”号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.valueOf(answer.getText();x=(int)Integer.valueOf(operate1.getText();y=(in
25、t)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(你真棒!);/如果做对,输出你真棒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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中学科教学与核心素养融合计划
- 写字楼保洁员班组管理培训计划
- 部编版小学四年级道德与法治上册教学策略计划
- 中学家长学校公益项目计划
- 在线葫芦丝社团互动活动计划
- 血透室质控设备更新计划
- 八年级上册语文阅读提升计划
- 2025年上教科室环境优化计划
- 2025环保行业安全教育培训计划
- 花城版小学五年级音乐师生合作计划
- 2025年高考真题-政治(黑吉辽卷) 含答案(黑龙江、吉林、辽宁、内蒙古)
- T/QX 004-2020工业清洗作业人员呼吸防护用品选择、管理、使用和维护指南
- 河北省石家庄市2025年七年级下学期语文期末考试卷及答案
- 四川省德阳市2025年七年级下学期语文期末试卷及答案
- 石狮子购销合同协议
- 2025广州市荔湾区辅警考试试卷真题
- 课题申报书:基于核心素养发展理念的小学数学跨学科主题学习设计的策略研究
- 模联面试题及答案
- 上海市杨浦区2025届高三语文一模质量调研试卷(含答案)
- 隔壁拆房相邻协议书
- GB/T 320-2025工业用合成盐酸
评论
0/150
提交评论