《算术运算测试程序》
课程设计说明书
学生姓名 学 号 所属学院 专 业 班 级
指导教师 教师职称 讲 师
塔里木大学教务处制
目录
1. 前言 ................................................................................................................................... 1 2. 设计目的 ........................................................................................................................... 2 3. 设计任务 ........................................................................................................................... 2 3.1基本功能 ........................................................................................................................ 2 4. 设计内容 ........................................................................................................................... 2 4.1设计分析 ........................................................................................................................ 2 4.2问题描述 ........................................................................................................................ 3 4.2.1基本要求.................................................................................................................. 3 4.3程序结构 ........................................................................................................................ 4 4.4程序说明 ........................................................................................................................ 4 4.5源程序 ............................................................................................................................ 5 4.6运行结果 ........................................................................................................................ 9 5. 设计体会 ......................................................................................................................... 14 6.总结与展望 ......................................................................................................................... 15 7.致谢 ..................................................................................................................................... 16 8.参考文献 ............................................................................................................................. 17
前言
Java高级程序设计是计算机科学的基础理论知识,也是软件设计的技 术基础。本课程设计的性质是检验理论课学习的效果以及综合运用的能力,目的是训练学生进行复杂程序设计的技能和培养良好程序设计的习惯。本课程设计的任务是要求学生使用Java语言编程,解决具有一定规模的、具有实际意义的应用题,实现理论课所要求掌握的java解决实际问题。本指导书由计算机与通信工程学院黄永丽编写,由于时间仓促,难免有许多错误欢迎广大师生批评指正。
《Java高级程序设计》课程设计是计算机科学与技术专业的主要实践性教学环节。在进行了专业基础课和《Java高级程序设计》课程的基础上,设计一个实际的应用软件,初步软件设计的基本方法,提高进行工程设计的基本技能及分析、解决实际问题的能力,为毕业设计和以后的工程实践打下良好的基础。
1. 设计目的
《算术运算测试程序》需要很强的实践动手能力,本次课程设计旨在锻炼自己的动手能力。加强JAVA语言的应用能力,全面地学习JAVA语言,熟练编写过程。掌握基本的实验设计方法,以及基本的应用知识。
2. 设计任务
1.用Java程序的基本操作完成对自动生成生数学练习题目并算出分数。
2.用户可以根据自己需求选择的想要练习的题目的难度、运算类型及题目数。
3.程序根据用户要求进行自行出题。
4.用户输入答案后可以判断正误,最后计算出分数。 5.退出。
3.1基本功能
编写小学算术运算测试系统,能完成一道100以内的加减运算。能根据用户输入想要练习的题目数自行出题,用户输入答案后可以自行判断正误,最后算出分数。
3. 设计内容
4.1设计分析
本课题要求我们设计一个java程序,该程序能实现十道100以内加减法数学题,这个要求让我想到了要用循环语句实现,比方说我们学过的for循环和while语句。题目还要求能根据题目计算出答案,
并且能与输入答案对比,之后判断做题是否正确,这启示我要用到equals语句实现,题目要求是利用图形用户界面来实现,通过看书以及请教老师,我们达到了这个要求。
该程序的系统开发语言JAVA,开发环境是netbeans 6.9.1。本程序具有的特点是程序简单明了,操作方便,优点是界面直观清晰,灵活实用。 4.2问题描述
对于小学生来说,涉及到的数算不多,可以设计一个简单的数算测试小软件,来练习算术能力,帮助小学生提高运算技巧。
4.2.1基本要求
设计GUI界面,通过选择不同运算符(如加减法、乘除法)及运算数的范围(如10以内、100以内等)后随机产生指定书目(10道,20道等)的运算式子,测试提交后自动评分,根据不同测试结果给出提示(如“你真棒”,”继续努力”等)。:编写小学算术运算测试程序。要求完成10以内的加减运算。能根据用户输入的想要练习的题目数自行出题。用户输入答案后可以判断正误,并能给出算对及算错的题目数,最后计算出分数。同时,对于用户算错的题目会发出报警声,提示用户注意,同时给出正确结果。做完一次测试后用户可决定是否继续进行下一次测试。
本课题要求我们设计一个java程序,该程序能实现十道100以内加减法数学题,这个要求让我想到了要用循环语句实现,比方说我们学过的for循环和while语句。题目还要求能根据题目计算出答案,
并且能与输入答案对比,之后判断做题是否正确,这启示我要用到equals语句实现,题目要求是利用图形用户界面来实现,通过看书以及请教老师,我们达到了这个要求。 该程序的系统开发语言JAVA,开发环境是netbeans 6.9.1。本程序具有的特点是程序简单明了,操作方便,优点是界面直观清晰,灵活实用。 4.3程序结构
4.4程序说明
该计算运算测试程序系统具备调用Math.random() * 100抽取100以内随机数并自行加减运算、输入个人运算结果、对比答案并进行加分运算,得出总分。 具体功能的详细描述如下: 1、当进入“运
算测试程序”界面时,根据计算机随机得出的题目,在输入框中输入运算结果,。 选择“提交”按钮时将看到运算对错。 正确时界面框中,输出“恭喜,回答正确。”并自行加分。 错误时界面框中,输出“抱歉,回答错误。和正确答案”。
2、选择“下题”按钮进入下一题。
3、计算机通过“if”语句判断执行次数是否达到10次10次时进入下次循环。 否则跳入下一步。
4、算出最终分数并显示“您的得分是 ”。 5、退出。
4.5源程序
import java.awt.Dimension; import java.awt.Toolkit;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField;
public class Test13 {
当小于
public static void main(String[] args) {
JFrame jFrame = new JFrame(\"算术运算测试程序\"); int with = 200; int height = 380; Dimension
dimension
=
Toolkit.getDefaultToolkit().getScreenSize();
jFrame.setBounds(((int) dimension.getWidth() - with) / 2, ((int) dimension.getHeight() - height) / 2, with, height); jFrame.setResizable(false); jFrame.setLayout(null);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Random random = new Random();
final JLabel[] lablesA = new JLabel[10]; final JLabel[] lablesB = new JLabel[10]; final JLabel[] lablesC = new JLabel[10]; final JTextField[] texts = new JTextField[10]; String[] operates = {\"+\ for(int i = 0; i < 10; i++) { int a = random.nextInt(100);
lablesA[i] = new JLabel(\"\" + a); lablesA[i].setBounds(0, i * 30, 20, 30); jFrame.add(lablesA[i]); int
operateNumber
=
random.nextInt(operates.length);
lablesB[i] = new JLabel(operates[operateNumber]); lablesB[i].setBounds(30, i * 30, 20, 30); jFrame.add(lablesB[i]);
int b = 0;
if(operateNumber == 0) { b = random.nextInt(100 - a); } else {
b = random.nextInt(a); }
lablesC[i] = new JLabel(\"\" + b);
lablesC[i].setBounds(60, i * 30, 20, 30); jFrame.add(lablesC[i]);
JLabel label = new JLabel(\"=\"); label.setBounds(90, i * 30, 20, 30);
jFrame.add(label);
texts[i] = new JTextField();
texts[i].setBounds(120, i * 30 + 5, 70, 20); jFrame.add(texts[i]); }
JButton button = new JButton(\"计算分数\"); button.setBounds(0, 300, 190, 50);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) { int count = 0;
for(int i = 0; i < 10; i++) { try { int
result
Integer.parseInt(texts[i].getText()); int
a
Integer.parseInt(lablesA[i].getText()); int
c
Integer.parseInt(lablesC[i].getText());
=
=
=
if((\"+\".equals(lablesB[i].getText()) && a + c == result)
|| (\"-\".equals(lablesB[i].getText()) && a - c == result) ) { count++; }
} catch(Exception ex) { } }
JOptionPane.showMessageDialog(null, \"你得了:\" + count * 10 + \"分\提示\ } });
jFrame.add(button); jFrame.setVisible(true); } }
4.6运行结果
这是一个小学数算测试程序,要求完成 一道100 以内的加减运算。能根据用户输入的想要练习的题目数自行出题。用户输入答案后计算出分数。
图1.1 java算术运算测试程序运行截图
图 1.2 java算术运算测试程序运行结果图
图1.3 输入正确答案以后的图
图 1.4 算出分数后的图
图 1.5 输入错误的答案后的图
图 1.6 错误答案的算出分数图
4. 设计体会
老实的说刚开始听说要写JAVA课程设计的时候真的好紧张,想想自己学的并不好,要编的好困难。后来开始慢慢地试着去写,一个下午坐在电脑面前,把课题看了一遍又一遍,也查了不少资料,还参考了书上的例题,看了一遍又一遍总算是有点弄懂了。再看自己的课题时脑子里就有了大概的模型,一句句程序语言开始慢慢地输出。接下来是不停的出错,改错,提高,完善上机调试的时候因为有
了老师的指导所以程序也运行地很成功。自己的努力终于是有了很好的回报。这次课程设计让我对JAVA语言有了更深入的了解,同时又激励了我,相信一件事只要自己认真努力去做肯定会有收获的。
这次我了解了java真的在日常生活中无处不在以及它的强大功能。还有一种功能的多种实现方式,同样一个实验目地,可以通过字符界面实现,还可以通过图形用户界面实现。通过这次的程序设计,让我觉得一定要好好学习下学期的类似编程语言。
在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点,在修改时也要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。总之这次课程设计让我受益匪浅。
6.总结与展望
通过本次的课程设计,我学会了很多。从最开始的不知道自己的主要目标到逐步掌握java的运行原理,我的基础知识和技能得到了
提高。尤其是在设置方面的问题,我掌握了很多知识。
在设计过程中,我学到了许多,也发现了自己的不足。最明显的收获就是理解和较熟练的掌握了javaApplet图形界面的基本方法,尤其在布局方面学到很多,以前布局很乱并且很多布局都是无效的,因此我学会了如何布局。此次课程设计中,我懂得了在今后社会的发展和学习实践过程中,一定要拼搏努力,不能遇到问题就退缩,一定要不厌其烦地发现问题所在,然后一一进行解决,只有这样,才能获得最终的胜利。不然,是将永远不能获得成功的,也不能得到社会及他人对自己的认可!课程设计诚然是一门专业课,让我的专业知识以及专业技能上得到提升,同时又是一门讲道课,一门辩思课,给了我许多道、很多思,给了我莫大的空间。我认为,在此次实践中,不仅培养了思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,我们学会了很多学习的方法。而这正是以后最实用的知识。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
通过这次实习,让我初步有了编写系统的能力,我对许多函数有了新的认识,也学会了运用许多函数,明白编写软件的基本过程和方法,还有许多从书本上没学到的东西。同时,通过这次课程设计,让我明白只有理论是远远不够的,只有理论和实际相结合才能从实际中得出结论,从而锻炼自己的实际动手能力和思考的能力。
7.致谢
在这次课程设计中,很感谢老师的指导,将我从对于JAVA肤浅的认识引入到深层次的分析理解。由于您的悉心教导,我能用Java这一种语言进行比较熟
练的编程。在这样的一个程序设计中,靠一个人的单打独斗是不可能完成的。在这次设计过程中,在开始的构思、设想,源代码编写时的提示,上机时精心的指点,有了老师和舍友以及身边同学的指导、意见和帮助,最终才完成了这个火车票管理系统的设计与实现。所以在这里要对以上老师及同学表示感谢,非常感谢他们的帮助。而且在这次课程设计中我学习到了很多很多。
在本次设计的过程中, 老师给了我很大的帮助,不仅使我在规定的时间内完成了系统的设计,同时还使我学到了很多有益的知识和宝贵的经验。在此,我向帮助我的老师们表示最衷心的感谢。由我人水平有限,其中肯定会有一些不当之处,请老师批评指正。
8.参考文献
【1】 刘万军,郑少京,王松波,梁清华.JAVA6程序设计实践教程[M].第1版, 北京:清华大学出版社,2009
【2】Y.Daniel Liang.Java语言程序设计(基础篇)[M].第8版, 机械工业出版社出版
社,2011
【3】QuentinCharatan,Aaron Kans者,王玉彬,刘家兰译。Java大学教程(第2版)[M]。北京:清华大学出版社,2008.
【4】《Java程序设计》 【5】《Java网络编程》 【6】《Java TCP/IP Socket编程》 【7】《Java网络程序设计》
【8】Sun中国技术社区http://gceclub.sun.com.cn/。 【9】Java之家http://www.javajia.com/。 【1】Apache社区http://www.apache.org/。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务