java算数和猜数
Java课程设计
(阶段一文档)
二〇二〇年六月二十四
 
目 录
1 选题
2系统需求分析
2.1 系统可行性分析
2.2 系统需求分析
2.3进度安排
3系统设计
4系统实现
4.1代码实现
4.2运行界面
5 结论和心得
1 选题
| 
 选题一  | 
 算术运算测试  | 
| 
 题目要求  | 
|
| 
 实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。添加排行榜功能存放到文件或数据库中。 
 
 
 
 
  | 
|
| 
 使用Java知识  | 
|
| 
 1. 运用了for循环语句 2. 运用了if条件判断语句 3. 运用java的Scanner键盘录入方法 
 
 
  | 
|
| 
 选题二  | 
 猜数游戏  | 
| 
 题目要求  | 
|
| 
 计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直到猜到,给出所用时间和评语。保留用户成绩,做出成绩排行榜,排行榜存放到文件或数据库中。 
 
 
 
  | 
|
| 
 使用Java知识  | 
|
 
 
 
 
  | 
|
2 系统需求分析
2.1 系统可行性分析
一.算术运算测试
1.技术可行性
算术运算测试的进行需要用Eclipse软件,掌握java语言知识,运用到循环等算法知识,所以在技术上是可行的。
- 操作可行性
 
程序运行之后,用户只需要输入答案,便可以完成此次测试,所以在操作上是可行的。
二:猜数游戏
1.技术可行性
算术运算测试的进行需要用Eclipse软件,掌握java语言知识,运用到循环等算法知识,所以在技术上是可行的。
2.操作可行性
程序运行之后,用户只需要输入答案,直至答案正确便可以完成测试,所以在操作上是可行的。
2.2 系统需求分析
一.算术运算测试:系统随机产生两个100以内的整数,加减法各10道题目,用户进行计算,回答正确的一分,回答错误不扣分,如果用户没有回答正确,则给出正确答案,直至用户答完所有题目,最后统计用户所得分数。
二.猜数游戏:系统运行后,随机给出一个1000以内的整数,用户输入猜想的数字,如果猜想数字大,则系统提示所猜数大,请重新输入,如果所猜想数小,则系统提示所猜数小,请重新输入,直至用户猜想正确,游戏结束。满分100分,猜错一次扣5分,系统根据所得分数给出相应评语。
2.3 进度安排
阶段一进度安排如表3-1所示。
表3-1 进度安排表
| 
 阶段  | 
 持续时间  | 
 阶段描述  | 
 输出  | 
| 
 构思阶段  | 
 1小时  | 
 需求分析  | 
 需求说明  | 
| 
 设计阶段  | 
 1小时  | 
 系统设计  | 
 设计说明  | 
| 
 实现阶段  | 
 5小时  | 
 编写代码  | 
 项目工程源代码  | 
| 
 1小时  | 
 系统测试  | 
 进行黑盒测试(功能测试)-测试说明  | 
|
| 
 运行阶段  | 
 1小时  | 
 部署、运行  | 
 系统使用说明、运维报告、录制视频  | 
3 系统设计
3. 系统设计
根据系统的实际功能需求分析,对系统功能部分进行了设计。
一.算术运算测试
- 系统随机给出十道100以内的加减法算术题;
 - 用户进行答题,直至答题结束;
 - 答对一题的一分,答错得0分;
 - 统计用户所得分数。
 
二.猜数游戏
1.系统随机给出一个1000以内的整数;
2.用户进行猜想,直至猜想正确,游戏结束;
3.满分100分,每猜想一次,扣5分;
4.最后统计用户所得分数和猜想时间。
4 系统实现
4.1代码实现
一.算术运算测试
import java.awt.Toolkit;
import java.util.Scanner;
public class Jisuanti {
public static void main(String[] args) {
int i=0;
int count=0;
int number1=0,number2=0;
for(;;) {
number1=(int) (Math.random()*100);
number2=(int) (Math.random()*100);
//加法部分
System.out.println(" "+number1+"+"+number2+"?");
Scanner scan=new Scanner(System.in);
int answer=scan.nextInt();
if(answer==number1+number2) {
count++;
System.out.println("恭喜你!回答正确");
Toolkit.getDefaultToolkit().beep();
//System.out.println('\007');
}else {
System.out.println("很遗憾,回答错误");
System.out.println(number1+"+"+number2+" 的正确答案是 "+(number1+number2));
}
//减法部分
if(number1<number2) {
int temp;
temp=number1;
number1=number2;
number2=temp;
}
System.out.println(" "+number1+"-"+number2+"?");
int answer2=scan.nextInt();
if(answer2==number1-number2) {
count++;
System.out.println("恭喜你!回答正确");
for(int time=0;time<6;time++)
Toolkit.getDefaultToolkit().beep();
}else {
System.out.println("很遗憾,回答错误");
System.out.println(number1+"-"+number2+" 的正确答案是 "+(number1-number2));
}
//判断加减法完成次数
i++;
if(i==5) {
break;
}
}
System.out.println("您所得分数是"+count+"分");
}
}
二.猜数游戏
import java.util.Random;
import java.util.Scanner;
public class CaishuGame {
public static void main(String[] args){
//统计次数
int count=0;
//总共次数
int total;
long a=System.currentTimeMillis()/1000;
Random i = new Random();
int num = i.nextInt(1000);
while(true) {
System.out.println("请输入您所猜的数(该数介于(0,1000)):");
Scanner j = new Scanner(System.in);
int n = j.nextInt();
if (n == num) {
System.out.println("恭喜您猜对了!");
break;
}else if(n > num){
System.out.println("猜大了,请您重新输入");
}else if(n < num){
System.out.println("猜小了,请您重新输入");
}
count++;
}
long b=System.currentTimeMillis()/1000;
//猜对执行break跳出循环,没有统计到最后一次,故总次数为统计数+1
total = count + 1;
if(total<5) {
System.out.println("您真是天神下凡!!");
}else if(total<9) {
System.out.println("马马虎虎让你给过了");
}else
System.out.println("菜的抠脚!!");
System.out.println("您得分为"+(100-total*5)+"");
System.out.println("您所用的时间为:"+(b-a));
4.2运行界面
一.算术运算测试
 
二.猜数游戏

}
5.结论和心得
本次的实训,通过自己的构思和技巧,一步步地去实现,才发现其实好多事情并没有看上去那么难,只要我们自己动手,不断摸索,学习好java 语言知识,掌握算法,经过一次又一次的实验,熟能生巧,方能体会到java的魅力。此后,一定要加强java的学习,不断积累,不断实践,才能让我们在java的道路上越走越远。
                    
                
                
            
        
浙公网安备 33010602011771号