java课程设计运算测试

上传人:hs****ma 文档编号:431983756 上传时间:2022-12-18 格式:DOC 页数:11 大小:170.50KB
返回 下载 相关 举报
java课程设计运算测试_第1页
第1页 / 共11页
java课程设计运算测试_第2页
第2页 / 共11页
java课程设计运算测试_第3页
第3页 / 共11页
java课程设计运算测试_第4页
第4页 / 共11页
java课程设计运算测试_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《java课程设计运算测试》由会员分享,可在线阅读,更多相关《java课程设计运算测试(11页珍藏版)》请在金锄头文库上搜索。

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,用于用户输入答案;JButt

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

4、nds 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 actionPerformed(Action

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

8、 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,trueAnswer,x;

9、/随机数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(); jlAnswer.setTex

10、t(答案:); 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.jbExit=ne

11、w 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(jtfAnswer); t

12、his.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时加法answer=m

13、+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.jtfAnswer.setText();this

14、.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.setLocationRelativeTo

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号