课程设计设计一个小学算术运算测试软件Word格式.docx
- 文档编号:18013074
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:18
- 大小:96.81KB
课程设计设计一个小学算术运算测试软件Word格式.docx
《课程设计设计一个小学算术运算测试软件Word格式.docx》由会员分享,可在线阅读,更多相关《课程设计设计一个小学算术运算测试软件Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
9
参考文献·
10
成绩评定·
附录·
11
1设计时间
6月16日到6月22日
2设计目的
综合运用图形用户界面设计的概念,熟悉使用中间面板组成层次结构复杂的GUI界面,熟悉使用时间驱动编程,熟悉使用内部类。
3设计题目
设计一个小学算术运算测试软件
软件基本功能:
设计GUI界面,通过选择不同运算符(如加减法、乘除法)及运算数的范围(如10以内、100以内等)后随机产生指定书目(10道,20道等)的运算式子,测试提交后自动评分,根据不同测试结果给出提示(如“你真棒”,”继续努力”等。
4设计任务
4.1设计界面
在纸上设计图纸,然后用Java语言设计基本代码,然后再让其在程序中运行出来,如上图所示。
4.2设计事件
1,关于JComboBOx的事件
2,关于Button的事件设计
3,关于JRadioButton的事件设计
5设计内容
先设计GUI界面,在基础上实现JComboBOx,这个控件主要实现的功能是当在下拉列表中选定选定操作类型之后,在像行的ope位置上将其置为相应的操作符。
Button事件,这个控件主要实现操作数运算结果和文本框中结果的比对,实现label1,label2中显示做对多少题,做了多少题。
两个Button事件实现,这两个按钮主要实现选择了多少道题,按“10道题”的时候,总共选择10道题,按“20道题”的时候,总共选择20道题。
复选框事件的实现,这个控件主要实现选择10以内的题还是100以内的题,设置常数,实现选择。
6功能模块实现
6.1JComboBOx的事件的实现
这个控件主要实现的功能是当在下拉列表中选定选定操作类型之后,在像行的ope位置上将其置为相应的操作符。
代码部分如下:
publicclassitemeventimplementsItemListener{//实现下拉列表框的事件
publicvoiditemStateChanged(ItemEvente){
if(jrbut.getSelectedIndex()==0){//如果下拉列表框中选定的是第一项,即加号
calcuType=1;
ope.setText("
+"
);
}//将操作符的部分置为“+”号
elseif(jrbut.getSelectedIndex()==1){//如果下拉列表框中选定的是第二项项,即减号
calcuType=2;
-"
}//将操作符的部分置为“-”号
elseif(jrbut.getSelectedIndex()==2)//如果下拉列表框中选定的是第三项项,即减号
{calcuType=3;
*"
}//将操作符的部分置为“*”号
else{calcuType=4;
/"
};
//将操作符的部分置为“/”号
}
6.2Button事件实现
这个控件主要实现操作数运算结果和文本框中结果的比对,实现label1,label2中显示做对多少题,做了多少题。
代码部分如下:
intop=0;
classButtonListenerimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
intx=0,y=0,z=0,temp=0;
if(answer.getText().length()==0){}//如果是answer中字符创长度为零的话,什么也不做
else{//否则就做以下部分
try{
z=(int)Integer.valueOf(answer.getText());
x=(int)Integer.valueOf(operate1.getText());
y=(int)Integer.valueOf(operate2.getText());
}catch(Exceptione){}
if(calcuType==1){//如果是加法
if(x+y==z)
{
rightnum++;
label3.setText("
你真棒!
"
//如果做对,输出你真棒
}
else{label3.setText("
加油哦!
}//否则输出加油哦
elseif(calcuType==2){//如果是减法
if(x-y==z)
{rightnum++;
label3.setText("
}//如果做对,输出你真棒
elseif(calcuType==3){//如果是乘法
if(x*y==z){rightnum++;
else//或者是除法
{
if(x/y==z){rightnum++;
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(x<
y){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)(Math.random());
if(x<
}
operate1.setText(String.valueOf(x));
operate2.setText(String.valueOf(y));
if(x<
}//被减数大于减数
operate1.setText(String.valueOf(x));
operate2.setText(String.valueOf(y));
totalnum++;
label1.setText("
已做"
+totalnum+"
题"
//设置总共做的题数
label2.setText("
做对"
+rightnum+"
//设置做对的题数
answer.setText("
//将answer的文本置空
if(totalnum>
op){
System.exit(0);
}
}
6.3两个Button事件实现选项
这两个按钮主要实现选择了多少道题,按“10道题”的时候,总共选择10道题,按“20道题”的时候,总共选择20道题。
代码部分如下
publicclasseventimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==but1){
op=10;
la1.setText("
共有"
+op+"
道题"
elseif(e.getSource()==but2){
op=20;
6.4复选框事件的实现
这个控件主要实现选择10以内的题还是100以内的题,设置常数,实现选择。
publicclassactionimplementsActionListener{
@Override
if(e.getSource()==myradio1){//如果是复选框1中被选定
t=9;
else{
t=90;
7运行与测试
加法
减法
乘法
除法
8总结与展望
在整个设计中也遇到了不少的问题,但通过仔细的检查与研究问题都一一解决了。
在整个实验设计的过程中,我不但加深了对这门课的理解同时也巩固了Java程序的整体结构。
通过实验中发现的问题,使我明白了自己原来的知识都太过理论化了,面对单独的课题时是多么的茫然。
自己要学习的东西还有很多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。
通过实验,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己的知识和综合素质。
总之,单靠书本上的理论知识是无法体现出知识的真正价值的!
很多时候,我们以为我们都会了,但等到用的时候才发现是两回事,所以我们必须通过实际的操作应用去分析理解它!
参考文献
[1]屈辉立,陈可明,石武信.JSP网站编程教程[M].第1版,北京:
北京希望电子出版社,2005
[2]白勇.用B/S模式构建在线考试系统[J],重庆电力高等专科学校学报,2003,10(4):
100~130.
[3]JiangGuo,YuehongLiao,BehzadParviz.ASurveyofJ2EEApplicationPerformanceManagementSystems[J],ProceedingsoftheIEEEInternationalConferenceonWebServices(ICWS'
04),2004.6(5):
17~32.
[4]VB数据库管理范例:
成绩评定
成绩教师签字
附录:
packagemyjava;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
publicclasscalculate{
JFrameframe=newJFrame();
inttotalnum=0;
intrightnum=0;
intcalcuType=1;
staticintt=9;
JLabeloperate1=newJLabel("
JLabelope=newJLabel("
JLabeloperate2=newJLabel("
JLabelequl=newJLabel("
="
JTextFieldanswer=newJTextField("
5);
JPanelp1=newJPanel();
JRadioButtonmyradio1,myradio2;
JButtonok=newJButton("
确认"
JLabellabel1=newJLabel("
JLabellabel2=newJLabel("
JPanelp2=newJPanel();
JLabellabel3;
String[]str={"
加法"
"
减法"
乘法"
除法"
JComboBoxjrbut=newJComboBox(str);
JPanelopt=newJPanel();
JButtonbut1,but2;
JLabella1;
publiccalculate(){
opt.add(jrbut);
jrbut.setSelectedIndex(0);
frame.setLocation(400,100);
frame.setLayout(newGridLayout(3,1));
frame.setDefaultCloseOperation(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=newJButton("
10题"
but2=newJButton("
20题"
label3=newJLabel();
p2.add(label3);
p2.add(but1);
p2.add(but2);
but1.addActionListener(newevent());
but2.addActionListener(newevent());
frame.add(p2);
JPanelpl=newJPanel();
pl.add(label1);
pl.add(label2);
la1=newJLabel();
pl.add(la1);
frame.add(pl);
myradio1=newJRadioButton("
10以内"
myradio2=newJRadioButton("
100以内"
ButtonGroupgroup=newButtonGroup();
group.add(myradio1);
group.add(myradio2);
pl.add(myradio1);
pl.add(myradio2);
myradio1.setSelected(true);
myradio1.addActionListener(newaction());
myradio2.addActionListener(newaction());
intx,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(x<
operate1.setText(String.valueOf(x));
operate2.setText(String.valueOf(y));
else{
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(x<
operate1.setText(String.valueOf(x));
operate2.setText(String.valueOf(y));
frame.setVisible(true);
frame.setSize(400,150);
jrbut.addItemListener(newitemevent());
ok.addActionListener(newButtonListener());
label1.setText("
label2.setText("
publicclassitemeventimplementsItemListener{//实现下拉列表框的事件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 设计 一个 小学 算术 运算 测试 软件
![提示](https://static.bdocx.com/images/bang_tan.gif)