阶段一实训文档

1 选题

选题一

算术运算测试

题目要求

功能基本要求:

实现十道100以内加减法数学题,能根据题目计算出答案,加减号是否可以随机生成,与输入答案对比,判断做题是否正确,最后计算分数。

能力要求:

  1. 沟通表达能力;
  2. 资料搜集能力;
  3. 自主学习能力;
  4. 时间规划能力;
  5. 独立完成项目能力;
  6. 文档撰写能力;

面向对象编程思维和软件工程思想。

使用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、模块图

 阶段一实训文档_第1张图片

                         模块图2-1算数模块

二、猜数字测试

1、功能分析

根据实验要求向老师调研。

设计一个猜数字游戏程序,有如下要求:

a、输入任意一个数字。

b、系统对您输入的数字进行比较判断。

c、对数字的猜测进行一个排名。

系统将输入的数字与计算机随机生成的数相比较,输入的数比随机数小,系统将提醒您,“小了”,请继续猜。

系统将输入的数字与计算机随机生成的数相比较,输入的数比随机数大,系统将提醒您,“大了”,请继续猜。

d、每猜数一次,系统会记录下来,游戏结束后会显示您猜了多少次。

e、游戏结束时,可以选择结束游戏或者继续游戏

2、模块图

猜数字模块
 
阶段一实训文档_第2张图片

模块图2-2猜数模块

 

 

2.3 项目进度安排

阶段一进度安排如表3-1所示。

表3-1 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

1h

需求分析

需求说明,功能模块图

设计阶段

3h

系统设计

设计说明-可以画流程图;数据库设计

实现阶段

6h

编写代码

项目工程源代码

2h

系统测试

进行黑盒测试(功能测试)-测试说明

运行阶段

3h

部署、运行

系统使用说明、运维报告、录制视频

 


3 系统设计

3.1 系统设计

根据系统的实际功能需求分析,对系统功能部分进行了设计。

一、算术测试运算

根据系统的实际功能需求分析,对系统功能部分进行了设计。

随机测试题目生成模块:先随机产生两个0-100之间的数,再随机生成运算符。判断运算符,然后进行对应的加减运算。

题目测试模块:输入得数,判断是不是与系统给出的正确答案相等,正确继续下一道题,错误,告诉正确答案继续下一道题。

成绩记录模块:0分开始,对一个加一分,错误不扣分。

输出模块:输出自己的分数。

二、猜数游戏

随机数生成模块:运行过后,系统随机生成一个数。

数字判断模块:输入数字后,给予提示,继续猜,直到猜对为止。

输出模块:输出猜了多少次,输出排行榜

是否继续模块:输入任意键继续游戏,输入0则退出游戏

 

 

4 系统实现

4.1 运行界面实现

算术运算测试:

 阶段一实训文档_第3张图片

 

 图4-1算数测试图 

  

猜数游戏:

阶段一实训文档_第4张图片

 

 

 

 图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

            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

                   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结论和心得

结论:每一个项目都不是简单的,想要做好一个项目我们要认认真真的去学习、找资料、花大量的时间去研究,把不会的知识点慢慢的复习弄懂弄明白,直到成功。

心得:通过一个周的实训,让我知道了以前没有弄明白的地方。在整个项目中对那些项目的代码有了更深刻的认识和掌握,通过不断地去网上,笔记本上查阅资料,请教同学才使得好多问题得以解决。虽然我的实训项目做的不是很完善,但是通过这次项目实训获益匪浅。我下来会继续完善这两个项目。

你可能感兴趣的:(阶段一实训文档)