Java基础快速入门: Random 与猜数字游戏

本文纲要

  1. Random 基本使用
    什么是 Random
    使用步骤
    生成指定范围的随机数
  2. 猜数字游戏
    需求分析
    实现流程
    代码实现
    细节补充:无限循环与 break

Random 基本使用


1 ) 什么是 Random

Random 是 Java 内置的一个工具类,位于 java.util 包下,专门用来生成随机数。
比如我们要做一个随机点名器,或者需要生成一个随机密码,都可以通过 Random 来实现。

2 ) 使用步骤

使用 Random 和之前学过的 Scanner 非常相似,分为三步:

  1. 导包
    在类定义的上面写:

    import java.util.Random;
    
  2. 创建对象

    Random r = new Random();
    

其中 r 是变量名,可以自定义,其他部分固定不变。

  1. 获取随机数
    int number = r.nextInt(10);   // 范围:[0,10) 包含0,不包含10
    

number 是变量名,可以改变;10 是范围上限,可改;其他部分固定。

3 ) 生成指定范围的随机数

r.nextInt(n) 会生成 [0, n) 左闭右开区间的随机整数。

如果我们需要 1~10 之间的随机数(包含1和10),不能直接写 nextInt(11),因为那会生成 0~10。

正确做法:生成 0~9,再加 1,即:

int num = r.nextInt(10) + 1;   // 范围 [1, 10]

代码示例(修正注释乱码后):

import java.util.Random;
 
public class Demo1Random {
    public static void main(String[] args) {
        // 创建 Random 对象
        Random r = new Random();
 
        // 循环10次,生成1~10之间的随机数
        for (int i = 1; i <= 10; i++) {
            int num = r.nextInt(10) + 1;
            System.out.println(num);
        }
    }
}

猜数字游戏

1 ) 需求分析

程序自动生成一个 1~100 之间的整数,用户通过键盘输入猜测数字,程序根据猜测结果给予提示:

  • 猜大了 → 提示“猜大了”
  • 猜小了 → 提示“猜小了”
  • 猜中了 → 提示“恭喜,猜中了”并结束游戏

因为无法预知用户几次能猜对,需要使用 死循环 反复进行猜测,猜对后通过 break 跳出。

2 ) 实现流程

开始

生成1~100随机数 randomNum

提示用户输入猜测数字

读取用户输入 num

num > randomNum?

输出“猜大了”

num < randomNum?

输出“猜小了”

输出“恭喜,猜中了”

break 结束循环

输出“感谢您的使用”

结束

3 ) 代码实现

import java.util.Scanner;
import java.util.Random;
 
public class Test {
    public static void main(String[] args) {
        // 1. 准备 Random 和 Scanner 对象 
        Random r = new Random();
        Scanner sc = new Scanner(System.in);
 
        // 2. 生成要猜的随机数 (1~100)
        int randomNum = r.nextInt(100) + 1;
 
        // 3. 使用死循环让用户反复猜测
        while (true) {
            // 提示输入
            System.out.println("请输入您猜的数据:");
            int num = sc.nextInt();
 
            // 4. 比较并给出提示
            if (num > randomNum) {
                System.out.println("猜大了");
            } else if (num < randomNum) {
                System.out.println("猜小了");
            } else {
                System.out.println("恭喜,猜中了");
                break;   // 猜对,跳出循环
            }
        }
 
        // 游戏结束后的提示
        System.out.println("感谢您的使用");
    }
}

细节补充:无限循环与 break

当 while(true) 循环内部 没有退出条件 时,循环下面的代码将永远无法执行,编译器会报错:“无法访问的语句”

本例中我们添加了 break,当猜中后执行 break,循环结束,后面的 System.out.println(“感谢您的使用”) 就可以被执行

因此,无限循环下面可以写代码,但前提是循环内部存在能让程序跳出循环的出口(如 break、return 等)

小结

通过这两个例子,我们掌握了 Random 类的基本用法,以及如何结合 Scanner 和循环、分支语句完成一个简单的猜数字游戏。

这些是 Java 基础中非常经典且实用的练习,建议亲手敲一遍,加深理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值