Java 猜数字小游戏实现与解析
今天我们来实现一个经典的猜数字小游戏,通过这个简单的程序,我们可以学习 Java 的基本语法、流程控制和用户交互等知识。这个游戏会随机生成一个 1-100 之间的数字,玩家需要在有限次数内猜出这个数字,程序会根据玩家的输入给出提示。
完整代码实现
下面是完整的 Java 代码,所有功能都封装在一个类中
import java.util.Random;
import java.util.Scanner;
public class GuessNumberGame {
public static void main(String[] args) {
// 游戏欢迎信息
System.out.println("======================");
System.out.println(" 猜数字小游戏 ");
System.out.println("======================");
System.out.println("游戏规则:");
System.out.println("1. 系统会随机生成1-100之间的整数");
System.out.println("2. 你有10次机会猜出这个数字");
System.out.println("3. 每次猜测后会提示你猜大了或猜小了");
System.out.println("4. 猜对或用完次数游戏结束");
System.out.println("======================\n");
// 生成1-100之间的随机数
Random random = new Random();
int targetNumber = random.nextInt(100) + 1;
// 初始化游戏参数
int maxAttempts = 10; // 最大猜测次数
int attempts = 0; // 当前已猜测次数
boolean isGuessed = false; // 是否猜对
// 创建Scanner对象用于接收用户输入
Scanner scanner = new Scanner(System.in);
// 游戏主循环
while (attempts < maxAttempts && !isGuessed) {
// 显示剩余次数
int remaining = maxAttempts - attempts;
System.out.printf("请输入你猜测的数字(还剩%d次机会):", remaining);
// 获取用户输入
int guess;
try {
guess = scanner.nextInt();
attempts++; // 每输入一次,猜测次数加1
// 判断猜测结果
if (guess < 1 || guess > 100) {
System.out.println("请输入1-100之间的数字!");
attempts--; // 无效输入不消耗次数
} else if (guess < targetNumber) {
System.out.println("猜小了!再试试更大的数字。");
} else if (guess > targetNumber) {
System.out.println("猜大了!再试试更小的数字。");
} else {
isGuessed = true;
System.out.println("\n恭喜你,猜对了!");
System.out.printf("答案就是:%d,你用了%d次猜出正确答案!\n", targetNumber, attempts);
}
} catch (Exception e) {
System.out.println("输入错误,请输入一个整数!");
scanner.next(); // 清除错误输入
}
}
// 游戏结束处理
if (!isGuessed) {
System.out.println("\n游戏结束!你已用完所有猜测次数。");
System.out.printf("正确答案是:%d\n", targetNumber);
}
// 关闭资源
scanner.close();
System.out.println("\n感谢参与游戏,再见!");
}
}
1620

被折叠的 条评论
为什么被折叠?



