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

本文介绍了如何使用Java的Random类生成随机数并结合Scanner类获取用户输入,实现一个简单的猜数字游戏。通过示例代码展示了随机数生成和用户交互的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

修改类型方法及简介
booleannextBoolean():从这个生产器中返回下一个随机的离散分布的Boolean类型的值
doublenextDouble():从生产器中返回下一个随机的离散分布的double类型的值,这个值的介于0.0~1.0之间
intnextInt():从生产器中返回下一个随机的离散分布的int类型的值
intnextInt(int bound):从生产器中返回下一个随机离散分布的int类型的值,这个值介于0到规定的值的范围内
voidsetSeed(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(num<toGuessNum){
                System.out.println("小了");
            }
            else if(num >toGuessNum){
                System.out.println("大了");
            }
            else{
                System.out.println("找到了");
                break;
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值