Java课程设计
(阶段一文档)
院别:信息科学与工程学院 专业:计算机科学与技术 班级:2019级计科2班 学生姓名:付一帆 指导老师:董保莲 |
二〇二一年六月
目 录
1 选题
选题一 | 算术运算测试 |
题目要求 | |
实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。每道题1分,答对得1分,答错不得分。最后计算成绩为多少分。
面向对象编程思维和软件工程思想。 | |
使用Java知识 | |
Java基本输入输入出、运算符、循环、选择分支;数组、 JDBC,数据库,mysql。 | |
选题二 | 猜数游戏 |
题目要求 | |
计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。保留用户测试成绩,做出成绩排行榜。排行榜存放到文件或数据库中。 1.沟通表达能力; 2.资料搜集能力; 3.自主学习能力; 4.时间规划能力; 5.独立完成项目能力; 6.文档撰写能力; 面向对象编程思维和软件工程思想。 | |
使用Java知识 | |
循环、分支、变量、判断、常用类等; JDBC。 |
2 系统需求分析
2.1 系统可行性分析
一、算数运算测试
1.技术可行性
本次程序运用的是Eclipse这个软件,采用的JAVA语言,JAVA面向对象,所以技术上是可行的。
2.经济可行性
因为本次程序使用的Eclipse软件是免费的,在这个软件上就能满足我们的需求,不需要额外的开销所以经济上也是可行的。
3.操作可行性
本次程序只需要用户有这个软件并配置好环境变量并且安装windowbuilder插件就可以使用,操作简单便捷,符合大部分用户的使用习惯。因此在操作上是可行的。
4.法律可行性
在法律许可范围内。
2.2 系统需求分析
1.通过与老师和同学交流,完成了简单的运算算数测试,实现了十道100以内加减法数学题,根据题目算出答案,与用户输入答案对比,判断做题是否正确,若正确,则分数加1分,若答错,则不加分,最后计算分数总和,每道题1分,共计10分。
2.功能模块图
图2-1 算数测试运算模块图
图2-2 猜数游戏模块图
2.3进度安排
阶段一进度安排如表3-1所示。
表3-1 进度安排表
阶段 | 持续时间 | 阶段描述 | 输出 |
构思阶段 | 2小时 | 需求分析 | 需求说明,功能模块图 |
设计阶段 | 2小时 | 系统设计 | 设计说明-可以画流程图;数据库设计 |
实现阶段 | 3小时 | 编写代码 | 项目工程源代码 |
3小时 | 系统测试 | 进行黑盒测试(功能测试)-测试说明 | |
运行阶段 | 4小时 | 部署、运行 | 系统使用说明、运维报告、录制视频 |
3 系统设计
3.1 系统设计
一、算数测试运算
根据系统的实际功能需求分析,对系统功能部分进行了设计。
随机测试题目生成模块:先随机生成2个数,这2个数要在1-100之间,随机生成运算符号+或者-。
题目测试模块:输入得数,判断所输入得数与正确答案是否相等。若正确,则输出正确进行下一道题目,若错误,则输出正确答案并进行下一道题目。
成绩记录模块:每道题一分,一共十道题,总共十分。
二、猜数游戏
根据系统的实际功能需求分析,对系统功能部分进行了设计。
随机数输入模块:程序运行后,会自动获取一个随机数,也就是说系统会随机生成一个数,这个数就是我们要猜的数。
次数记录模块:每猜一次就会记录一次,记录总次数。
大小判断模块:每次猜测的数字,若大于随机数,则会提示您的结果大于随机数,若小于数,则会提示您的结果小于随机数。
3.2JAVA程序设计
图3-1 JAVA程序设计
4系统实现
4.1 代码实现
一、算数运算测试
功能的基本要求:实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。每道题1分,答对得1分,答错不得分。最后计算成绩为多少分。
packageprojectone;
//实现十道100以内加减法数学题,能根据题目计算出答案
//与输入答案对比,判断做题是否正确,最后计算分数。
importjava.util.Scanner;
publicclassSuanshu {
publicstaticvoid main(String[] args){
intm=10;
char[] zf={'+','-'};//输入加法和减法所用运算符号
System.out.println("******下面将开始随机运算加减题,请计算答案*****");
int[] x= newint[m];
int[] y= newint[m];
int[] o= newint[m];
ints=0;
Scanner input = new Scanner(System.in);//开辟一个窗口
for(inti=0;i<10;i++){
charn=zf[(int)(Math.random())];//使用随机数
x[i]=(int)(Math.random()*100);
y[i]=(int)(Math.random()*100);
System.out.println("第"+(i+1)+"道题为:"+x[i]+n+y[i]+"=");
int[] z = newint[m];
if(n=='+')
{
z[i]=x[i]+y[i];
}
elseif(n=='-'){//用elseif来判断为加或者减,生成的题目
z[i]=x[i]+-y[i];
}
System.out.println("请输入答案:");
o[i]=input.nextInt();
if(o[i]==z[i]){
System.out.println("回答正确!");
s++;
}
else{//判断回答,若不正确则执行else
System.out.println("回答错误!,正确答案应为:"+z[i]);
}
}
System.out.println("答题结束,您的得分为:"+s+"分!满分为10分");//最后得出分数
}
}
二、猜数游戏
功能的基本要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。保留用户测试成绩,做出成绩排行榜。
packageprojectone;
importjava.util.Scanner;
publicclassCaish {
publicstaticvoid main(String[] args){
Scanner input=newScanner(System.in);
intcount=0;//猜测次数
intguess;//用户猜测的数
System.out.println("-----欢迎来到猜数游戏-----");
System.out.println("输入一个1到100之间的整数");
intnumber=(int)(Math.random()*100);//生成100之内的随机数
guess=input.nextInt();//进行猜测
count++;//每循环一次猜测次数+1
do
{
if(guess>number)
{
System.out.println("猜错了,您的结果大于随机数");//判断大小
guess=input.nextInt();
count++;
}
if(guess<number)
{
System.out.println("猜错了,您的结果小于随机数");//判断大小
guess=input.nextInt();
count++;
}
}
while(guess!=number);
System.out.println("恭喜您猜对了!");
if(count<=1)
System.out.println("真厉害!");
if(1<count&&count<=5)
System.out.println("不错!");
if(5<count)
System.out.println("还需努力!");
}
}
4.2 运行界面实现
一、算数运算测试
图4-2-1算术运算测试
图4-2-2 算术运算测试
二、猜数游戏
图4-2-3 猜数游戏
5结论和心得
结论:算术运算测试实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。每道题1分,答对得1分,答错不得分。最后计算成绩为多少分。可以成功实现功能。
猜数游戏计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。保留用户测试成绩,做出成绩排行榜。排行榜存放到文件或数据库中。可以成功实现功能。
心得:此次阶段一实训,属实暴露出很多问题,较短的学习时间使我对数据库这方面焦头烂额,但是我也在不断地学习和改进,与同学和老师的交流使我受益匪浅,我会慢慢提升自己,虽然前路还很遥远,路上会遇到很多困难和挫折,但是我会努力,希望能在大学四年有所收获。