阶段一实训文档
Posted a1104712802
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阶段一实训文档相关的知识,希望对你有一定的参考价值。
1 选题
选题一 |
算术运算测试 |
题目要求 |
|
功能基本要求: 实现十道100以内加减法数学题,能根据题目计算出答案,加减号是否可以随机生成,与输入答案对比,判断做题是否正确,最后计算分数。 能力要求:
面向对象编程思维和软件工程思想。 |
|
使用Java知识 |
|
Java基本输入输入出、运算符、循环、选择分支
|
|
选题二 |
猜数游戏 |
题目要求 |
|
功能基本要求: 计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语,计算成功率。保留用户测试成绩,做出成绩排行榜。 能力要求: 1.沟通表达能力; 2.资料搜集能力; 3.自主学习能力; 4.时间规划能力; 5.独立完成项目能力; 6.文档撰写能力; 面向对象编程思维和软件工程思想。 |
|
使用Java知识 |
|
循环、分支、变量、常用类、try-catch等 |
2 系统需求分析
2.1 系统可行性分析
一、技术可行性
Java语言目前是世界上运用最为广泛的计算机语言,也是最为可行的语言。
二、操作可行性。
本次设计实验采用的是Eclipse软件执行,此软件操作便利。满足我们大学生目前的所有实验要求,只要配置好电脑环境变量。
2.2 系统需求分析
一、算术计算题测试
1、功能分析:
设计一个算术运算测试,有如下要求:
a、系统随机生成两个数和运算符,进行运算。
b、系统对您输入的答案进行判断。
c、最后系统将统计最后正确的答案,得到分数。
系统将输入的数字与计算机随机生成数的和进行比较,输入的数与随机数的和不相等,系统将提醒您,答案错误,并告诉您正确答案,再显示下一题,继续答题一直答完10道题。
d、当十道题都输出时游戏结束。
2、模块图
模块图2-1算数模块
二、猜数字测试
1、功能分析
根据实验要求向老师调研。
设计一个猜数字游戏程序,有如下要求:
a、输入任意一个数字。
b、系统对您输入的数字进行比较判断。
c、对数字的猜测进行一个排名。
系统将输入的数字与计算机随机生成的数相比较,输入的数比随机数小,系统将提醒您,“小了”,请继续猜。
系统将输入的数字与计算机随机生成的数相比较,输入的数比随机数大,系统将提醒您,“大了”,请继续猜。
d、每猜数一次,系统会记录下来,游戏结束后会显示您猜了多少次。
e、游戏结束时,可以选择结束游戏或者继续游戏
2、模块图
猜数字模块模块图2-2猜数模块
2.3 项目进度安排
阶段一进度安排如表3-1所示。
表3-1 进度安排表
阶段 |
持续时间 |
阶段描述 |
输出 |
构思阶段 |
1h |
需求分析 |
需求说明,功能模块图 |
设计阶段 |
3h |
系统设计 |
设计说明-可以画流程图;数据库设计 |
实现阶段 |
6h |
编写代码 |
项目工程源代码 |
2h |
系统测试 |
进行黑盒测试(功能测试)-测试说明 |
|
运行阶段 |
3h |
部署、运行 |
系统使用说明、运维报告、录制视频 |
3 系统设计
3.1 系统设计
根据系统的实际功能需求分析,对系统功能部分进行了设计。
一、算术测试运算
根据系统的实际功能需求分析,对系统功能部分进行了设计。
随机测试题目生成模块:先随机产生两个0-100之间的数,再随机生成运算符。判断运算符,然后进行对应的加减运算。
题目测试模块:输入得数,判断是不是与系统给出的正确答案相等,正确继续下一道题,错误,告诉正确答案继续下一道题。
成绩记录模块:0分开始,对一个加一分,错误不扣分。
输出模块:输出自己的分数。
二、猜数游戏
随机数生成模块:运行过后,系统随机生成一个数。
数字判断模块:输入数字后,给予提示,继续猜,直到猜对为止。
输出模块:输出猜了多少次,输出排行榜
是否继续模块:输入任意键继续游戏,输入0则退出游戏
4 系统实现
4.1 运行界面实现
算术运算测试:
图4-1算数测试图
猜数游戏:
图4-2猜数测试
4.2 代码实现
一 、算术运算测试
import java.util.Scanner;
//算术运算测试
//实现10道随机生成的加减乘除数学题,能根据题目计算出答案,与自己输入运算的答案相对比,最后给予分数。
//考虑加减乘除法是否随机给出
public class Num {
public static void main(String[] args) {
final int num=10;
char[] zf= {‘+‘,‘-‘,‘*‘,‘/‘};
System.out.println("欢迎你进入运算测试程序,下面将进行"+num+"道随机生成的运算题,请输入正确的答案");
int[] num1=new int[num];
int[] num2=new int[num];
int[] num3=new int[num];
int[] sum=new int[num];
int x=0;
Scanner input =new Scanner(System.in);
for(int i=0;i<num;i++) {
char z=zf[(char)(Math.random()*zf.length)];
num1[i]=(int)(Math.random()*100);
num2[i]=(int)(Math.random()*100);
System.out.println("第"+(i+1)+"道题为"+num1[i]+z+num2[i]+"=");
if(z==‘+‘) {
sum[i]=num1[i]+num2[i];
}else if(z==‘-‘) {
sum[i]=num1[i]-num2[i];
}else if(z==‘*‘) {
sum[i]=num1[i]*num2[i];
}else if(z==‘/‘) {
sum[i]=num1[i]/num2[i];
}
System.out.println("请输入正确的答案");
num3[i]=input.nextInt();
if(num3[i]==sum[i]) {
System.out.println("回答正确");
x++;
}else {
System.out.println("回答错误,正确答案为"+sum[i]);
}
}
System.out.println("答题结束,您的得分为"+x+"分");
}
}
二、猜数游戏
import java.util.InputMismatchException;
import java.util.Random;
import java.util.Scanner;
/*游戏规则:系统随机给出一个数字,玩家猜数字系统给出提示(大了/小了)
* 1.思路:用Random来随机生成一个数字
* 2.用Scanner来获取玩家输入的数字
* 3.用if和==来判断是否正确
* 4.做一个排行榜
*/
public class Main {
public static void main(String[] args) {
Random random = new Random();
int num = random.nextInt(101);
System.out.println("随机生成的数是"+num);
Scanner scanner = new Scanner(System.in);
int number;
int count=1;
String choose;//猜完一次想继续猜
System.out.println("请输入0~100中的一个数字");
try {
while(true) {
number = scanner.nextInt();
if(number<num) {
System.out.println("小了");
count++;
}else if(number>num) {
count++;
System.out.println("大了");
}else {
System.out.println("恭喜你用了"+count+"次猜对了!");
if(count<=2) {
System.out.println("恭喜你被称为大神玩家!"); count=1;
}else if(count<=6&&count>2) {
System.out.println("恭喜你被称为黄金玩家!"); count=1;
}else {
System.out.println("恭喜你被称为白银玩家!"); count=1;
}
System.out.println("输入0退出,按任意键继续猜数游戏!");
choose = scanner.next();
if(choose.equals("0")) {
System.exit(1);
}else {
num = random.nextInt(101);
System.out.println("请输入0~100中的一个数字");
}
}
}
}catch(InputMismatchException e) {
System.out.println("你输入的数据有误!");
}
}
}
5结论和心得
结论:每一个项目都不是简单的,想要做好一个项目我们要认认真真的去学习、找资料、花大量的时间去研究,把不会的知识点慢慢的复习弄懂弄明白,直到成功。
心得:通过一个周的实训,让我知道了以前没有弄明白的地方。在整个项目中对那些项目的代码有了更深刻的认识和掌握,通过不断地去网上,笔记本上查阅资料,请教同学才使得好多问题得以解决。虽然我的实训项目做的不是很完善,但是通过这次项目实训获益匪浅。我下来会继续完善这两个项目。
以上是关于阶段一实训文档的主要内容,如果未能解决你的问题,请参考以下文章