小学算术运算检测软件.docx

上传人:b****1 文档编号:2287033 上传时间:2023-05-03 格式:DOCX 页数:18 大小:106.06KB
下载 相关 举报
小学算术运算检测软件.docx_第1页
第1页 / 共18页
小学算术运算检测软件.docx_第2页
第2页 / 共18页
小学算术运算检测软件.docx_第3页
第3页 / 共18页
小学算术运算检测软件.docx_第4页
第4页 / 共18页
小学算术运算检测软件.docx_第5页
第5页 / 共18页
小学算术运算检测软件.docx_第6页
第6页 / 共18页
小学算术运算检测软件.docx_第7页
第7页 / 共18页
小学算术运算检测软件.docx_第8页
第8页 / 共18页
小学算术运算检测软件.docx_第9页
第9页 / 共18页
小学算术运算检测软件.docx_第10页
第10页 / 共18页
小学算术运算检测软件.docx_第11页
第11页 / 共18页
小学算术运算检测软件.docx_第12页
第12页 / 共18页
小学算术运算检测软件.docx_第13页
第13页 / 共18页
小学算术运算检测软件.docx_第14页
第14页 / 共18页
小学算术运算检测软件.docx_第15页
第15页 / 共18页
小学算术运算检测软件.docx_第16页
第16页 / 共18页
小学算术运算检测软件.docx_第17页
第17页 / 共18页
小学算术运算检测软件.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

小学算术运算检测软件.docx

《小学算术运算检测软件.docx》由会员分享,可在线阅读,更多相关《小学算术运算检测软件.docx(18页珍藏版)》请在冰点文库上搜索。

小学算术运算检测软件.docx

小学算术运算检测软件

 

软件学院

课程设计报告书

 

课程名称面向对象程序课程设计

设计题目小学算术运算测试软件

专业班级嵌软11—2

学号1120030220

姓名吴晓冬

指导教师文涛

 

2013年6月

 

1设计时间2

2设计目的2

3设计题目2

4设计任务2

5设计容2

5.1程序设计与分析2

5.2程序结构3

5.3程序说明4

5.4源程序4

5功能模块实现14

6运行与测试15

6.1系统提供开始界面15

6.2系统提供运算式界面15

6.3系统提供提交界面16

6.4系统提供结果界面16

7总结与展望16

参考文献17

成绩评定17

 

 

1设计时间

2013年6月8日-2013年6月14日

2设计目的

《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。

其目的在于通过实践加深对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高应用能力。

3设计题目

小学算术运算检测软件

4设计任务

设计GUI界面,通过选择不同运算符(如加减法、乘除法)及运算数的围(如10以、100以等)后随机产生指定书目(10道,20道等)的运算式子,测试提交后自动评分,根据不同测试结果给出提示(如“你真棒”,”继续努力”等)。

5设计容

5.1程序设计与分析

按照软件基本功能分为以下四部

 

(1)设计GUI界面,假想界面:

 

图5.1假想界面

(2)选择不同运算符(如加减法、乘除法),选择不同运算数的围(如10以、100以等)。

通过界面上加、减、乘、除四个按钮和10以、100以两个按钮进行选择。

(3)随机产生指定数目(10道,20道等)的运算式子

(4)测试提交后自动评分根据不同测试结果给出提示(如“你真棒”,”继续努力”等)。

5.2程序结构

 

图5.1程序结构

5.3程序说明

(1)、当进入“运算测试程序”界面时,根据计算机随机得出的题目,在输入框中输入运算结果,。

(2)、选择“下题”按钮进入下一题。

(3)、计算机通过“if”语句判断执行次数是否达到10次,到达指定次数根据不同测试结果给出提示(答对8~10道输出“你真棒”,答对0~7道题输出“继续努力”)。

(4)、结束。

5.4源程序

importjava.awt.*;

importjava.awt.event.*;

importjava.util.*;

publicclassTest

{

publicTest()

{

Framef=newFrame("小学算术运算检测");

f.setBounds(200,100,340,300);

M1m1=newM1();

f.addWindowListener(m1);

f.setLayout(newGridLayout(5,1));

Buttonb1=newButton("+");

Buttonb2=newButton("-");

Buttonb3=newButton("×");

Buttonb4=newButton("÷");

Buttonb5=newButton("10以");

Buttonb6=newButton("100以");

Buttonb7=newButton("开始检测");

Labell1=newLabel("算术运算检测器");

Labell2=newLabel("请选择");

Labell3=newLabel("运算法则");

Labell4=newLabel("运算数围");

Panelp1=newPanel(null);

Panelp2=newPanel(null);

Panelp3=newPanel(null);

Panelp4=newPanel(null);

Panelp5=newPanel(null);

p1.setLayout(newFlowLayout());

p2.setLayout(newFlowLayout());

p3.setLayout(newGridLayout(1,5));

p4.setLayout(newGridLayout(1,3));

p5.setLayout(newGridLayout(1,1));

p1.add(l1);

p2.add(l2);

p3.add(l3);

p3.add(b1);

p3.add(b2);

p3.add(b3);

p3.add(b4);

p4.add(l4);

p4.add(b5);

p4.add(b6);

p5.add(b7);

f.add(p1);

f.add(p2);

f.add(p3);

f.add(p4);

f.add(p5);

M2m2=newM2();

M3m3=newM3();

M4m4=newM4();

M5m5=newM5();

M6m6=newM6();

M7m7=newM7();

M0m8=newM0();

 

b1.addActionListener(m2);

b2.addActionListener(m3);

b3.addActionListener(m4);

b4.addActionListener(m5);

b5.addActionListener(m6);

b6.addActionListener(m7);

b7.addActionListener(m8);

 

f.setVisible(true);

 

}

 

publicstaticvoidmain(Stringargs[])

{

Testa=newTest();

}

 

classM1implementsWindowListener

{

publicvoidwindowActivated(WindowEvente)

{}

publicvoidwindowClosed(WindowEvente)

{}

publicvoidwindowClosing(WindowEvente)

{

System.exit(-1);

}

publicvoidwindowDeactivated(WindowEvente)

{}

publicvoidwindowDeiconified(WindowEvente)

{}

publicvoidwindowIconified(WindowEvente)

{}

publicvoidwindowOpened(WindowEvente)

{}

}

staticStrings=null;

staticintnum=1;

staticintsum=0;

staticintscore=0;

staticintj=0;

staticintx1=0;

staticintx2=0;

 

classM2implementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

s="+";

}

}

classM3implementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

s="-";

}

}

classM4implementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

s="*";

}

}

classM5implementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

s="/";

}

}

classM6implementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

j=10;

}

}

classM7implementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

j=100;

}

}

classM0implementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

if(num==10)

{

Framef=newFrame("小学算术运算检测");

f.setBounds(200,100,340,100);

f.setLayout(newGridLayout(2,1));

M1m1=newM1();

f.addWindowListener(m1);

f.setVisible(true);

TextFieldc=newTextField(3);

M8m9=newM8(c);

c.addActionListener(m9);

Panelp=newPanel(null);

p.setLayout(newGridLayout(1,2));

Randomrand=newRandom();

if(j==100)

{

x1=rand.nextInt(100);

x2=rand.nextInt(100);

}

if(j==10)

{

x1=rand.nextInt(10);

x2=rand.nextInt(10);

}

Labell5=newLabel();

if(s=="+")

{sum=x1+x2;l5.setText(""+x1+"+"+x2+"=");}

if(s=="-")

{sum=x1-x2;l5.setText(""+x1+"-"+x2+"=");}

if(s=="*")

{sum=x1*x2;l5.setText(""+x1+"*"+x2+"=");}

if(s=="/")

{sum=x1/x2;l5.setText(""+x1+"/"+x2+"=");}

p.add(l5);

p.add(c);

f.add(p);

Buttonb=newButton("提交");

b.addActionListener(newM9());

f.add(b);

}

if(num!

=10)

{

Framef=newFrame("小学算术运算检测");

f.setBounds(200,100,340,100);

f.setLayout(newGridLayout(2,2));

M1m1=newM1();

f.addWindowListener(m1);

f.setVisible(true);

TextFieldc=newTextField("请输入结果",8);

M8m9=newM8(c);

c.addActionListener(m9);

Panelp=newPanel(null);

p.setLayout(newGridLayout(1,2));

 

Randomrand=newRandom();

if(j==100)

{

x1=rand.nextInt(100);

x2=rand.nextInt(100);

}

if(j==10)

{

x1=rand.nextInt(10);

x2=rand.nextInt(10);

}

Labell5=newLabel();

if(s=="+")

{sum=x1+x2;l5.setText(""+x1+"+"+x2+"=");}

if(s=="-")

{sum=x1-x2;l5.setText(""+x1+"-"+x2+"=");}

if(s=="*")

{sum=x1*x2;l5.setText(""+x1+"*"+x2+"=");}

if(s=="/")

{sum=x1/x2;l5.setText(""+x1+"/"+x2+"=");}

p.add(l5);

p.add(c);

f.add(p);

num++;

Buttonb=newButton("下一题");

Buttonb0=newButton("提交");

f.add(b0);

f.add(b);

b.addActionListener(newM0());

b0.addActionListener(newM8(c));

}

}

}

classM8implementsActionListener

{

TextFieldc;

M8(TextFieldc)

{

this.c=c;

}

publicvoidactionPerformed(ActionEvente)

{

intt=Integer.parseInt(c.getText());

if(t==sum)

score+=10;

}

}

classM9implementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

Framef=newFrame("小学算术运算检测");

f.setBounds(200,100,340,100);

f.setLayout(newFlowLayout());

M1m1=newM1();

f.addWindowListener(m1);

Labelb=null;

if(score>=80)

{

b=newLabel("你的成绩是"+score+"你真棒!

");

}

else

{

b=newLabel("你的成绩是"+score+"继续努力哦!

");

}

f.add(b);

f.setVisible(true);

}

}

}

5功能模块实现

importjava.awt.*;

importjava.awt.event.*;

importjava.until.*

包中包含Random类,调用nextInt()方法产生符合要求的随机数

publicclassTest

Test类中包含主函数main();

classM1implementsWindowListener

M1类是Test类的部类,实现窗口的关闭的监听机制。

classM2implementsActionListener

M2、M3、M4、M5、M6、M7类是Test类的部类,实现按钮的监听机制。

classM9implementsActionListener

M8、M9类是Test类的部类,实现文本框对应按钮的监听机制并弹出下一界面。

classM0implementsActionListener

M0类是Test类的部类,用于实现条件的判断和输入答案与系统结果的比较。

6运行与测试

6.1系统提供开始界面

图6.1开始界面

图6.1是系统提供的开始界面,在开始界面中我们可以选择运算法则和运算数围,通过按钮上的事件监听器发送到系统中,作为下一个选数操作的条件,点击开始检测则自动跳到下一界面。

6.2系统提供运算式界面

图6.2运算式界面

图6.2是系统提供的运算式界面,在运算式界面中我们可以通过文本框输入运算式的结果点击“提交”按钮提交答案,通过按钮上的事件监听器将事件发送到系统中备用,之后点击“下一题”按钮,通过按钮上的事件监听器将事件发送到系统中,自动跳到下一题的界面直到进行十次。

6.3系统提供提交界面

图6.3提交界面

图6.3是系统提供的提交界面,当运算进行九次时系统产生提交界面,在提交界面中我们可以通过文本框输入最后一道运算式的结果点击“提交”按钮,通过按钮上的事件监听器将事件发送到系统中,自动跳到结果界面。

6.4系统提供结果界面

图6.4结果界面

图6.4是系统提供的结果界面,在结果界面中我们可以看到根据运算式结果与所做的答案对比叠加的结果,输出相应的成绩和批语。

7总结与展望

在这次课程设计的过程中我有了很多收获,包括对以前学过程序的重新分析和理解、提取所需的资料、对教材中的知识的总结、对未知知识的学习。

遇到问题时通过上网查询资料与同学交流或通过医学知识使用笨拙的方法解决问题。

刚刚得到这份课题是我没有任何准备,但是随着时间的推进在我的脑海中逐渐形成了程序模型如上面5.2中的程序结构。

通过这次课程设计增加了我对解决问题过程的思考、增加了我对程序调试能力的思考、增加了我对《面向对象程序设计》这门课程的思考。

参考文献

[1]万军,少京,王松波等.Java6程序设计实践教程,:

清华大学,2009.5

[2]XX文库:

wenku.baidu./view/edd35e1414791711cc7917c1.html

成绩评定

 

成绩教师签字

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2