猜数字游戏     

 

1、掌握基本输入输出。

2、掌握方法定义与调用,理解参数传递方式。

3、掌握数组的声明、定义与初始化,数组的处理。

4、掌握数组作为方法参数和返回值。

实践要求

利用方法、数组、基本输入输出等Java基础知识,给出所选项目的基本设计与实现。

项目需求

所选项目名称:猜数字游戏

项目需求描述:猜数字游戏,通过用户输入的数值与随机产生的数值进行对比,提示用户完成猜数字。

项目设计方案

该项目主要是调用了Math方法中的random来产生一个随机数,然后用户输入的数据与随机数进行比较。根据比较结果屏幕给出提示信息。回答正确后,程序停止。

 

 

 

 

五、核心算法详细设计     

1、获取随机数

       根据试验内容可知,此次做的是猜数字的程序,既然是猜数字,必定会用到随机数,也就少不了使用Math类中的random()方法,其格式为(int)(Math.random() * 101)用于返回int型 值,该值在0到100之间。返回值是一个随机选择的数。这样一来可以得到获取随机数的方法:

 

int number = (int)(Math.random() * 101);

2、判断答案正确性

   用户输入一个猜测的数值,按回车键,如果比随机产生的数值大,屏幕则提示“大了”,如果比随机产生的小,屏幕则提示“小了”,相等则提示“恭喜你答对了!”程序停止。代码如下:

                              

       public static void yanzheng(int guess) {

           if (guess == number){

              System.out.println("恭喜你答对了!");

              System.exit(0);

           }else if (guess > number)

              System.out.println("大了");

           else

              System.out.println("小了");// 用if语句判断你输入的数字与所给的随机数比较

    }

3、功能测试

既然思路出来了,做起来也就方便了。在上面模型里进行添加:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

import java.util.Scanner;

    public class TesGussNumber {

public static int number = (int) (Math.random() * 101);

static Scanner input;

public static int shuru() {

       input = new Scanner(System.in);

       System.out.println("请猜测一百以内的数字:");

       int guess = input.nextInt();

       return guess;

    }

         public static void yanzheng(int guess) {

           if (guess == number){

              System.out.println("恭喜你答对了!");

              System.exit(0);

           }else if (guess > number)

              System.out.println("大了");

           else

              System.out.println("小了");

    }

          package Juxing;

public class Test {

    public static void main(String[] args) {

       GussNumber gn=new GussNumber();

       while(true) {

           int x=gn.shuru();

           gn.yanzheng(x);

       }

    }  

    }

 

 

 

       上表第3行中是使用Math中的random来获取一个随机数。

第5~10行是从系统中输入一个数,用于比较随机数。并且返回guess值。

第11~19行,验证用户输入的数据与随机产生的数据是否一样。提示相应的信息,让用户继续输入。如果比随机产生的数值大,屏幕则提示“大了”,如果比随机产生的小,屏幕则提示“小了”,相等则提示“恭喜你答对了!”程序停止

最后 Test类中调用该方法。

4、流程图

 

 

 

       完整源码:给出完整的源代码。如:

   构造方法:

package Juxing;

import java.util.Scanner;

public class TesGussNumber {

public static int number = (int) (Math.random() * 101);// 调用Math方法中的random,// 来获取一个随机数。math中全部是double型,所以强制转换成int

    static Scanner input;

   public static int shuru() {

       input = new Scanner(System.in);// 输入一个猜测数值

       System.out.println("请猜测一百以内的数字:");

       int guess = input.nextInt(); // 输入你猜测的数字

       return guess;

    }

  public static void yanzheng(int guess) {

           if (guess == number){

              System.out.println("恭喜你答对了!");

              System.exit(0);

           }else if (guess > number)

              System.out.println("大了");

           else

              System.out.println("小了");// 用if语句判断你输入的数字与所给的随机数比较

    }

    }

 测试:

package Juxing;

 

public class Test {

    public static void main(String[] args) {

       GussNumber gn=new GussNumber();

       while(true) {

           int x=gn.shuru();

           gn.yanzheng(x);

       }

    }

}

 没有测试成功

 

七、使用说明与运行结果截图

使用说明:程序运行开始会随机产生一个数值,屏幕提示“请猜测一百以内的整数”,用户输入一个猜测的数值,按回车键,如果比随机产生的数值大,屏幕则提示“大了”,如果比随机产生的小,屏幕则提示“小了”,相等则提示“恭喜你答对了!”程序停止。

运行结果截图:

 

八、实践总结

       本次实践我学会了如何获取一个随机数,掌握了基本的输入输出。

https://github.com/grace321/zcy/tree/master

本人与谢红亚组队

我负责代码她负责测试