java课程设计运算测试教学内容文档格式.docx
- 文档编号:13477067
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:11
- 大小:86.02KB
java课程设计运算测试教学内容文档格式.docx
《java课程设计运算测试教学内容文档格式.docx》由会员分享,可在线阅读,更多相关《java课程设计运算测试教学内容文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
publicyunSuanQi(){//构造函数}
publicvoidcreatQuestion(){//新建题目}
publicvoidtest(){//检测是否做到10道题}
publicvoidshowMe(){//窗体显示函数}
publicvoidactionPerformed(ActionEvente){//事件处理}
publicstaticvoidmain(String[]args){//主函数}
}
各模块功能及程序说明
构造函数:
publicyunSuanQi(){}
该函数主要是窗体的初始化,包括添加窗体、设置控件位置等,还包括对一些参数的初始化。
新建题目函数:
publicvoidcreatQuestion(){}
该函数是程序的核心,目的是创建一道新的算术题,程序开始先产生三个随机数,其中两个为100以内的整数,用于运算,另外一个为0或1,用作随机选择减法操作,根据选择好的运算,给一个字符变量值为对应的操作符,完成对应运算,将结果保存到成员变量中,等待比较,同时产生一个字符串,内容为:
m+"
"
+fl[0]+n+"
=?
或者m+"
+fl[l]+n+"
,将此字符串利用setText方法输出到JLabel中,即为题目。
检测函数:
publicvoidtest(){}
该函数目的是在每次新建题目前检测是否已经做够十道题,如果够,则设置对应按钮的可用性并初始化各个控件的内容,同时弹出对话框提示测试分数,如果不够,则不进行任何操作。
窗体显示函数:
publicvoidshowMe(){}
该函数是对主窗体的基本初始化,this.setLocationRelativeTo(null)设置窗体在屏幕中央打开,this.setSize(300,200)设置窗体大小,this.setVisible(true)设置窗体可见,this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)设置窗体关闭方式。
在主函数中调用此函数以使主界面显示。
事件处理:
publicvoidactionPerformed(ActionEvente){}
该函数目的是处理所有按钮单击事件,通过对按钮的监听,分辨哪个按钮被单击,然后运行对应按钮事件的代码。
事件代码中包括对异常的处理,如输入有误等,以保证程序顺利运行,异常均会以对话框形式弹出并显示误操作类型。
在对应按钮的代码中包含了对题目及答案的处理和计数功能。
源程序
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
privateJLabeljlQuestion1;
//题目标题
privateJLabeljlQuestion2;
//题目内容
privateJLabeljlAnswer;
//答案标题
privateJLabeljlW;
//题号
privateJLabeljlT;
//正确数
privateJButtonjbTest;
//提交答案
privateJButtonjbStart;
//开始游戏
privateJButtonjbEnd;
//停止游戏
privateJButtonjbExit;
//退出游戏
privateJTextFieldjtfAnswer;
//输入答案
privateintm,n,l,answer,trueAnswer,x;
//随机数m、n,计数参数
privatechar[]fl={'
+'
'
-'
};
//运算符数组
publicyunSuanQi(){//构造函数
this.x=0;
//参数初始化
this.trueAnswer=0;
this.setTitle("
益智游戏"
);
//控件初始化
this.setLayout(newGridLayout(6,2));
//6行2列布局
this.jlQuestion1=newJLabel();
jlQuestion1.setText("
题目:
this.jlQuestion2=newJLabel();
this.jlAnswer=newJLabel();
jlAnswer.setText("
答案:
this.jbStart=newJButton("
开始游戏"
jbStart.addActionListener(this);
//添加事件监听器
this.jbEnd=newJButton("
完成测试"
jbEnd.setEnabled(false);
//开始时不可用
jbEnd.addActionListener(this);
this.jbTest=newJButton("
提交答案"
jbTest.setEnabled(false);
jbTest.addActionListener(this);
this.jbExit=newJButton("
退出游戏"
jbExit.addActionListener(this);
this.jtfAnswer=newJTextField();
jlW=newJLabel();
jlW.setText("
题号:
+x);
jlT=newJLabel();
jlT.setText("
正确提交:
+trueAnswer);
this.add(jlW);
//添加控件
this.add(jlT);
this.add(jlQuestion1);
this.add(jlQuestion2);
this.add(jlAnswer);
this.add(jtfAnswer);
this.add(newJLabel());
//添加空占位label
this.add(jbStart);
this.add(jbTest);
this.add(jbEnd);
this.add(jbExit);
}
publicvoidcreatQuestion(){//新建题目
this.m=(int)(Math.random()*100);
//随机运算数
this.n=(int)(Math.random()*100);
this.l=(int)(Math.random()*1);
//随机数0或1,匹配随机运算符
if(fl[l]=='
){//l为0时加法
answer=m+n;
//加法结果
this.jlQuestion2.setText(m+"
//使label显示题目内容
}elseif(fl[l]=='
){//l为1时减法
answer=m-n;
//减法结果
}
publicvoidtest(){//检测函数,检测是否做到10道题
if(this.x==11){//如果做够数目
jlW.setText("
0"
//界面初始化
jlT.setText("
jbStart.setText("
this.jtfAnswer.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);
publicvoidshowMe(){//窗体显示函数
this.setLocationRelativeTo(null);
//窗体在屏幕中央打开
this.setSize(300,200);
//窗体大小
this.setVisible(true);
//窗体可见
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//窗体关闭方式
publicvoidactionPerformed(ActionEvente){//事件处理
//TODOAuto-generatedmethodstub
if(e.getSource()==jbStart){//开始游戏或下一题按钮
if(jbStart.getText()=="
){//按钮为开始游戏
x++;
//题目增一
jbStart.setText("
下一题"
jbEnd.setEnabled(true);
//设置按钮可用
jbTest.setEnabled(true);
creatQuestion();
//新建题目
jlW.setText("
jlT.setText
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 运算 测试 教学内容
![提示](https://static.bdocx.com/images/bang_tan.gif)