练习——猜数字

练习——猜数字

需求

  • 程序中预设一个目标数字(玩家不知道)
  • 每次输入一个数字,与目标数字比较:
    • 比目标大 → 输出”太大了”
    • 比目标小 → 输出”太小了”
    • 等于目标 → 输出”猜中了”,结束循环
  • 输入 0 可随时退出程序,避免死循环

示例代码

public static void main(String[] args) {
    int num = 65; // 预设目标数字
    Scanner scan = new Scanner(System.in);

    System.out.println("请输入一个数字(输入0退出):");
    int input = scan.nextInt();

    while (input != num) {
        if (input == 0) {
            System.out.println("已退出游戏。");
            break;
        }
        if (input > num) {
            System.out.println("太大了");
        } else {
            System.out.println("太小了");
        }
        System.out.println("请继续输入(输入0退出):");
        input = scan.nextInt();
    }

    if (input != 0) {
        System.out.println("猜中了");
    }
}Code language: JavaScript (javascript)

运行示例

请输入一个数字(输入0退出):
50
太小了
请继续输入(输入0退出):
70
太大了
请继续输入(输入0退出):
65
猜中了

逻辑拆解

步骤说明
初始化预设目标数字 num = 65
首次输入循环外先读取一次输入
循环条件input != num 时持续循环
退出机制输入 0 时 break 中断循环
比较逻辑input > num 提示太大,input < num 提示太小
循环内重新输入每次提示后重新读取用户输入
结束判断循环结束后若 input != 0,说明是猜中退出的

改进建议

可以用 Random 类随机生成目标数字,增加游戏趣味性:

import java.util.Random;

Random random = new Random();
int num = random.nextInt(100) + 1; // 生成 1~100 之间的随机数Code language: JavaScript (javascript)

注意:循环体内必须包含重新读取输入的语句(scan.nextInt()),否则输入不变会导致死循环。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注