ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:85KB ,
资源ID:6932800      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6932800.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java课程设计运算测试.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java课程设计运算测试.docx

1、java课程设计运算测试目录程序功能简介 3主体内容 3设计分析 3程序结构 3各模块功能及程序说明 4构造函数:public yunSuanQi() 4新建题目函数:public void creatQuestion() 5检测函数:public void test() 5窗体显示函数:public void showMe() 5事件处理:public void actionPerformed(ActionEvent e) 5源程序 6操作方法 12运行结果 12设计体会 13程序功能简介程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最

2、后计算分数。正确则提示正确并记录正确个数,错误则提示错误,不做记录,但在错误时我们可以重新多次输入答案,如果实在算不出来可以选择放弃,进行下一题的测试,直到测试完十道题为止。我在程序中还设置了“开始游戏”和“退出游戏”两个按钮,增加了游戏的自主控制功能,界面也相当简洁明了,适合为儿童开发智力,提高儿童的运算能力。主体内容设计分析该程序实现的功能是产生一个100以内的加减法算术题,在程序后台将此算术式结果保存到一个参数中,通过和用户从图形界面输入的答案对比,判断答案是否正确,并弹出对话框提示信息。界面部分,主窗体包含的控件主要有:JLabel,用于显示提示语句;JTextField,用于用户输入

3、答案;JButton,用于处理操作。界面初始化时,将一些按键,例如完成测试、提交答案等按键设置成不可用,这样可以防止误操作,每次按钮按下时,都有相应的按钮属性被更改。后台部分,核心就是产生随机算术式。用一个字符串数组存放加和减的操作符,产生一个大等于于0小于2的随机数,即为0或1,通过此随机数对应操作符数组中的字符,决定产生的算术式为加法或者减法,后产生两个100以内的随机数,然后通过以上判断求出结果,保存在私有变量中,同时对应的产生一个通过连接完成的字符串,作为界面题目输出的内容,以上便完成了随机算术式的生成。程序结构程序主要流程图如下:函数的结构如下:public class YunSua

4、nQi extends JFrame implements ActionListener public yunSuanQi()/构造函数public void creatQuestion()/新建题目public void test()/检测是否做到10道题public void showMe()/窗体显示函数public void actionPerformed(ActionEvent e) /事件处理public static void main(String args)/主函数各模块功能及程序说明构造函数:public yunSuanQi()该函数主要是窗体的初始化,包括添加窗体、设置控

5、件位置等,还包括对一些参数的初始化。新建题目函数:public void creatQuestion()该函数是程序的核心,目的是创建一道新的算术题,程序开始先产生三个随机数,其中两个为100以内的整数,用于运算,另外一个为0或1,用作随机选择减法操作,根据选择好的运算,给一个字符变量值为对应的操作符,完成对应运算,将结果保存到成员变量中,等待比较,同时产生一个字符串,内容为:m+fl0+n+=?或者m+fll+n+=?,将此字符串利用setText方法输出到JLabel中,即为题目。检测函数:public void test()该函数目的是在每次新建题目前检测是否已经做够十道题,如果够,则设

6、置对应按钮的可用性并初始化各个控件的内容,同时弹出对话框提示测试分数,如果不够,则不进行任何操作。窗体显示函数:public void showMe()该函数是对主窗体的基本初始化,this.setLocationRelativeTo(null)设置窗体在屏幕中央打开,this.setSize(300,200)设置窗体大小,this.setVisible(true)设置窗体可见,this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)设置窗体关闭方式。在主函数中调用此函数以使主界面显示。事件处理:public void actionPerforme

7、d(ActionEvent e) 该函数目的是处理所有按钮单击事件,通过对按钮的监听,分辨哪个按钮被单击,然后运行对应按钮事件的代码。事件代码中包括对异常的处理,如输入有误等,以保证程序顺利运行,异常均会以对话框形式弹出并显示误操作类型。在对应按钮的代码中包含了对题目及答案的处理和计数功能。源程序import java.awt.*;import java.awt.event.*;import javax.swing.*;public class YunSuanQi extends JFrame implements ActionListener private JLabel jlQuestio

8、n1;/题目标题 private JLabel jlQuestion2;/题目内容 private JLabel jlAnswer;/答案标题 private JLabel jlW;/题号 private JLabel jlT;/正确数 private JButton jbTest;/提交答案 private JButton jbStart;/开始游戏 private JButton jbEnd;/停止游戏 private JButton jbExit;/退出游戏 private JTextField jtfAnswer;/输入答案 private int m,n,l,answer,trueA

9、nswer,x;/随机数m、n,计数参数 private char fl=+,-;/运算符数组 public yunSuanQi()/构造函数 this.x=0;/参数初始化 this.trueAnswer=0; this.setTitle(益智游戏);/控件初始化 this.setLayout(new GridLayout(6,2);/6行2列布局 this.jlQuestion1=new JLabel(); jlQuestion1.setText(题目:); this.jlQuestion2=new JLabel(); this.jlAnswer=new JLabel(); jlAnswe

10、r.setText(答案:); this.jbStart=new JButton(开始游戏); jbStart.addActionListener(this);/添加事件监听器 this.jbEnd=new JButton(完成测试); jbEnd.setEnabled(false);/开始时不可用 jbEnd.addActionListener(this);/添加事件监听器 this.jbTest=new JButton(提交答案); jbTest.setEnabled(false);/开始时不可用 jbTest.addActionListener(this);/添加事件监听器 this.j

11、bExit=new JButton(退出游戏); jbExit.addActionListener(this);/添加事件监听器 this.jtfAnswer=new JTextField(); jlW=new JLabel(); jlW.setText(题号:+x); jlT=new JLabel(); jlT.setText(正确提交:+trueAnswer); this.add(jlW);/添加控件 this.add(jlT); this.add(jlQuestion1); this.add(jlQuestion2); this.add(jlAnswer); this.add(jtfAn

12、swer); this.add(new JLabel();/添加空占位label this.add(new JLabel(); this.add(jbStart); this.add(jbTest); this.add(jbEnd); this.add(jbExit); public void creatQuestion()/新建题目 this.m=(int)(Math.random()*100);/随机运算数 this.n=(int)(Math.random()*100); this.l=(int)(Math.random()*1);/随机数0或1,匹配随机运算符 if(fll=+)/l为0

13、时加法 answer=m+n;/加法结果 this.jlQuestion2.setText(m+fll+n+=?);/使label显示题目内容 else if(fll=-)/l为1时减法 answer=m-n;/减法结果 this.jlQuestion2.setText(m+fll+n+=?);/使label显示题目内容 public void test()/检测函数,检测是否做到10道题 if(this.x=11)/如果做够数目 jlW.setText(题号:0);/界面初始化 jlT.setText(正确提交:0); jbStart.setText(开始游戏); this.jtfAnswe

14、r.setText(); this.jlQuestion2.setText(); JOptionPane.showMessageDialog( null , 题目数:10,测试得分:+(10*trueAnswer), , JOptionPane.INFORMATION_MESSAGE);/弹出统计对话框 x=0;/数据初始化 trueAnswer=0; jbStart.setEnabled(true);/设置对应按钮是否可用 jbEnd.setEnabled(false); jbTest.setEnabled(false); public void showMe()/窗体显示函数 this.s

15、etLocationRelativeTo(null);/窗体在屏幕中央打开 this.setSize(300,200);/窗体大小 this.setVisible(true);/窗体可见 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/窗体关闭方式 public void actionPerformed(ActionEvent e) /事件处理 / TODO Auto-generated method stub if(e.getSource()=jbStart)/开始游戏或下一题按钮 if(jbStart.getText()=开始游戏)

16、/按钮为开始游戏 x+;/题目增一 jbStart.setText(下一题); jbEnd.setEnabled(true);/设置按钮可用 jbTest.setEnabled(true); creatQuestion();/新建题目 jlW.setText(题号:+x); jlT.setText(正确提交:+trueAnswer); else if(jbStart.getText()=下一题)/按钮为下一题 x+;/题目增一 creatQuestion();/新建题目 test();/测试题目总数是否够10 jlW.setText(题号:+x); jlT.setText(正确提交:+true

17、Answer); else if(e.getSource()=jbTest)/提交答案按钮 try int q=Integer.parseInt(jtfAnswer.getText(); if(q=answer)/答案正确 JOptionPane.showMessageDialog( null , 正确!, , JOptionPane.INFORMATION_MESSAGE);/提示正确 trueAnswer+;/正确回答数增一 creatQuestion();/新建题目 x+; jlW.setText(题号:+x); jlT.setText(正确提交:+trueAnswer); test()

18、;/判断题目总数 this.jtfAnswer.setText();/答案输入框置空 else/答案错误 JOptionPane.showMessageDialog( null , 错误!, , JOptionPane.INFORMATION_MESSAGE);/提示错误 catch(NumberFormatException nfe)/转换异常处理 JOptionPane.showMessageDialog( null , 输入有误!, , JOptionPane.ERROR_MESSAGE);/提示有误 else if(e.getSource()=jbEnd)/中途结束游戏按钮 jlW.s

19、etText(题号:0);/界面初始化 jlT.setText(正确提交:0); jbStart.setText(开始游戏); this.jlQuestion2.setText(); jbStart.setEnabled(true); jbEnd.setEnabled(false); jbTest.setEnabled(false); JOptionPane.showMessageDialog( null , 题目数:+x+,测试得分:+(10*trueAnswer), , JOptionPane.INFORMATION_MESSAGE);/统计信息对话框 else if(e.getSourc

20、e()=jbExit)/退出游戏按钮 System.exit(0); public static void main(String args) yunSuanQi y=new yunSuanQi(); y.showMe(); 操作方法运行程序,按下“开始”按钮就可进入算数计算测试状态,然后在文本框输入你算出的答案,点击“提交”按钮,就可知道自己所填答案是否正确。若正确,则提示正确,并在正确的题目上累计正确个数,进行下一题;若错误,则提示错误,但不进行下一题,单击“完成测试”按钮,可以直接完成测试,分数将对应当前题目总数计算,当做够10道题时,程序自动停止测试,弹出对话框显示所得分数,此时可以单

21、击“开始”重新测试。运行结果开始:测试状态:正确:错误:输入有误:中途停止:完成测试:设计体会通过此次课程设计,我更加深刻的理解了JAVA程序设计语言的魅力。算法当然是各种程序设计语言的基础,但只有算法我们还有很多解决不了的实际问题。而JAVA的核心是面向对象,面向对象就可以解决我们生活中的很多例子,而引进窗体、用户界面的内容就更加丰富了JAVA程序设计语言的强大功能。JAVA程序设计语言最吸引我的是它的跨平台操作,这也是它不同于且强大于其他程序设计语言之处,相同的程序,但可以在不同的操作系统下执行,这也是让我最终选择走向JAVA学习的原因。虽然在暑假的时候参加了一个月的JAVA培训,学到的东西也很多,这学期也学习了不少JAVA,但自己总觉得在程序设计语言方面还缺少很多,尤其是自己选定的方向。所以,自己还需要更多的学习来丰富自己的大脑,为明年的就业做好准备。而这次的课程设计其实没有什么难度,但对于大多数没有认真学习JAVA的已经足够了。我之所以选这个题目也是因为自己以前就做过,而且最近课程设计太多,忙不过来,所以直接改改符合了要求就完成了。这次是这样,但以后自己一定要做些更加有挑战性的题目来增强自己的实力,希望自己能在毕业设计中做出功能更加强大的,更实际的题目来。最后,感谢孙老师这年来给我们辛苦的代课!谢谢老师!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1