完整word版Java课程设计算术运算测试程序.docx
《完整word版Java课程设计算术运算测试程序.docx》由会员分享,可在线阅读,更多相关《完整word版Java课程设计算术运算测试程序.docx(8页珍藏版)》请在冰豆网上搜索。
![完整word版Java课程设计算术运算测试程序.docx](https://file1.bdocx.com/fileroot1/2022-12/11/2ef091ee-51af-4629-89bb-f09b3e8b876d/2ef091ee-51af-4629-89bb-f09b3e8b876d1.gif)
完整word版Java课程设计算术运算测试程序
《Java语言程序设计》课程设计
题目算术运算测试
专业信息系统与信息管理
班级
学号
学生姓名
同组成员
指导教师
编写日期2011年7月1日
一、本组课题及本人任务
本组课题:
算术运算测试程序
本人任务:
共同探讨程序的设计并且负责实验报告的完成
二、程序功能简介
该程序实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。
界面要求:
用图形界面实现。
三、主体内容
1、设计分析
本课题要求我们设计一个java程序,该程序能实现十道100以内加减法数学题,这个要求让我想到了要用循环语句实现,比方说我们学过的for循环和while语句。
题目还要求能根据题目计算出答案,并且能与输入答案对比,之后判断做题是否正确,这启示我要用到equals语句实现,题目要求是利用图形用户界面来实现,通过看书以及请教老师,我们达到了这个要求。
该程序的系统开发语言JAVA,开发环境是netbeans6.9.1。
本程序具有的特点是程序简单明了,操作方便,优点是界面直观清晰,灵活实用。
2、程序结构
3、程序说明
该计算运算测试程序系统具备调用Math.random()*100抽取100以内随机数并自行加减运算、输入个人运算结果、对比答案并进行加分运算,得出总分。
具体功能的详细描述如下:
1、当进入“运算测试程序”界面时,根据计算机随机得出的题目,在输入框中输入运算结果,。
选择“提交”按钮时将看到运算对错。
正确时界面框中,输出“恭喜,回答正确。
”并自行加分。
错误时界面框中,输出“抱歉,回答错误。
和正确答案”。
2、选择“下题”按钮进入下一题。
3、计算机通过“if”语句判断执行次数是否达到10次
当小于10次时进入下次循环。
否则跳入下一步。
4、算出最终分数并显示“您的得分是”。
5、退出。
6、JLabeljl=newJLabel();//显示题目
7、JLabeljl2=newJLabel();//显示结果正确与否
8、JButtonjb=newJButton("提交");
9、JButtonjb2=newJButton("下题");
10、JTextFieldjtf=newJTextField();//输入答案
4、源程序
packagejavaapplication1;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.util.*;
importjavax.swing.*;
importjavax.swing.plaf.SliderUI;
publicclassRandom_problem{
JFramejf=newJFrame();
JPaneljp=newJPanel();
JLabeljl=newJLabel();//显示题目
JLabeljl2=newJLabel();//显示结果正确与否
JButtonjb=newJButton("提交");
JButtonjb2=newJButton("next");
JTextFieldjtf=newJTextField();//输入答案
privateintnum1,num2,sum=0,score=0,temp,count=0;
publicRandom_problem(){
jf.setSize(300,300);
jf.add(jp);
jp.setLayout(null);
jp.add(jl);
jl.setBounds(18,18,100,10);//调整位置,大小
jp.add(jtf);
jtf.setBounds(120,10,40,20);
jp.add(jb);
jb.setBounds(10,50,60,40);
jp.add(jb2);
jb2.setBounds(80,50,60,40);
jp.add(jl2);
jl2.setBounds(60,100,200,50);
jf.setVisible(true);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
publicvoidproduce(){
Randomrand=newRandom();
num1=(int)(Math.random()*100);
num2=(int)(Math.random()*100);
sum=0;
temp=(int)(Math.random()*10)%2;
if(temp==0){
jl.setText("第"+(count)+"题:
"+num1+"+"+num2+"=");
count++;
sum=num1+num2;
}else{
count++;
jl.setText("第"+(count)+"题:
"+num1+"-"+num2+"=");
sum=num1-num2;
}
jb.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
ints=Integer.parseInt(jtf.getText());
if(s==sum){
jl2.setText("恭喜,回答正确!
");
score+=10;
}else{
jl2.setText("抱歉,回答错误。
"+"正确答案:
"+sum);
}
}
}
);
jb2.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
if(count==10){
JOptionPanej=newJOptionPane();
j.showMessageDialog(jf,"您的得分是:
"+score);
jf.setVisible(false);
}
Randomrand=newRandom();
num1=(int)(Math.random()*100);
num2=(int)(Math.random()*100);
sum=0;
temp=(int)(Math.random()*10)%2;
if(temp==0){
count++;
jl.setText("第"+(count)+"题:
"+num1+"+"+num2+"=");
sum=num1+num2;
}else{
count++;
jl.setText("第"+(count)+"题:
"+num1+"-"+num2+"=");
sum=num1-num2;
}
}
}
);
}
publicstaticvoidmain(Stringargs[]){
Random_problema=newRandom_problem();
a.produce();
}
}
5、操作方法(流程)
6、运行结果
7、设计体会
老实的说刚开始听说要写JAVA课程设计的时候真的好紧张,想想自己学的并不好,要编程真的好困难。
后来开始慢慢地试着去写,一个下午坐在电脑面前,把课题看了一遍又一遍,也查了不少资料,还参考了书上的例题,看了一遍又一遍总算是有点弄懂了。
再看自己的课题时脑子里就有了大概的模型,一句句程序语言开始慢慢地输出。
接下来是不停的出错,改错,提高,完善。
。
。
。
。
上机调试的时候因为有了老师的指导所以程序也运行地很成功。
自己的努力终于是有了很好的回报。
这次课程设计让我对JAVA语言有了更深入的了解,同时又激励了我,相信一件事只要自己认真努力去做肯定会有收获的。
这次我了解了java真的在日常生活中无处不在以及它的强大功能。
还有一种功能的多种实现方式,同样一个实验目地,可以通过字符界面实现,还可以通过图形用户界面实现。
通过这次的程序设计,让我觉得一定要好好学习下学期的类似编程语言。