生成随机数以及实现一个猜数字游戏

猜数字游戏并不难,但我们需要注意的有两点,一个是随机生成一个数,另一个是向屏幕输入一个数
1.首先是随机生成一个数,这里我们需要用到 “Random”这个类,这个类的实例是用来生成一系列的伪随机数字,并不是无脑的随机生成,而是通过修改使用一些列线性同余公式。
Random()就相当于一个构造器,用来创建一系列随机值
根据要修改数据的类型和功能,可以从该类中找到不同的方法,我们这里举几个例子

修改类型 方法及简介
boolean nextBoolean():从这个生产器中返回下一个随机的离散分布的Boolean类型的值
double nextDouble():从生产器中返回下一个随机的离散分布的double类型的值,这个值的介于0.0~1.0之间
int nextInt():从生产器中返回下一个随机的离散分布的int类型的值
int nextInt(int bound):从生产器中返回下一个随机离散分布的int类型的值,这个值介于0到规定的值的范围内
void setSeed(long seed):Sets the seed of this random number generator using a single long seed.

看几个代码

        Random rng=new Random();
        boolean b=rng.nextBoolean();
        double d=rng.nextDouble();
        int i=rng.nextInt();
        int i2=rng.nextInt(100);
        System.out.println(b);
        System.out.println(d);
        System.out.println(i);
        System.out.println(i2);

编译执行后
在这里插入图片描述
再次执行后
在这里插入图片描述
我们会发现每次执行的效果都不同,即达到了我们想要的随机生成一个数值的效果

猜数字游戏的第二个关键是输入一个值
这里我们需要用到Sanner这个类
具体用法如下:

        Scanner in=new Scanner(System.in);
        int i=in.nextInt();
        double d=in.nextDouble();
        boolean b=in.nextBoolean();
        System.out.println("输出");
        System.out.println(i);
        System.out.println(d);
        System.out.println(b);

这样两个核心步骤就解决了,猜数字游戏就可以写了

import java.util.Random;
import java.util.Scanner;
/**
 * NumberGuess
 */
public class NumberGuess {
    public static void main(String[] args) {
        Random random=new Random();
        int toGuessNum=random.nextInt(100)+1;//生成一个1到100的随机数
        while(true){
            System.out.println("输入你要猜的数字");
            Scanner in=new Scanner(System.in);
            int num=in.nextInt();
            if(numtoGuessNum){
                System.out.println("大了");
            }
            else{
                System.out.println("找到了");
                break;
            }
        }
    }
}

你可能感兴趣的:(javaSE)