JAVA-猜数字游戏

以下是一个简单的Java猜数字游戏的代码。

c 复制代码
import java.util.Random;  
import java.util.Scanner;  
  
public class GuessNumberGame {  
  
    public static void main(String[] args) {  
        Random rand = new Random();  
        int secretNumber = rand.nextInt(100) + 1; // 生成1到100之间的随机数  
        Scanner scanner = new Scanner(System.in);  
  
        while (true) {  
            System.out.print("猜一个1到100之间的数字: ");  
            int guess = scanner.nextInt();  
  
            if (guess == secretNumber) {  
                System.out.println("恭喜你,猜对了!");  
                break;  
            } else if (guess < secretNumber) {  
                System.out.println("猜的数字太小了。");  
            } else {  
                System.out.println("猜的数字太大了。");  
            }  
        }  
  
        scanner.close();  
    }  
}

下面我会对上述代码进行详细解释。

引入库

c 复制代码
import java.util.Random;  
import java.util.Scanner;

Random 类 :用于生成随机数。
Scanner 类:用于从控制台读取用户输入。

主类与主方法

c 复制代码
public class GuessNumberGame {  
  
    public static void main(String[] args) {  
        // ...  
    }  
}

public class GuessNumberGame :定义了一个公共类GuessNumberGame。
public static void main(String[] args):这是Java程序的入口点。

生成随机数

c 复制代码
Random rand = new Random();  
int secretNumber = rand.nextInt(100) + 1; // 生成1到100之间的随机数

Random rand = new Random();:创建一个Random对象。
int secretNumber = rand.nextInt(100) + 1;:使用nextInt(100)生成一个0到99之间的随机整数,然后加1得到1到100之间的随机整数。

读取用户输入

c 复制代码
Scanner scanner = new Scanner(System.in);

创建一个Scanner对象,用于从标准输入(通常是控制台)读取数据。

无限循环与猜数字逻辑

c 复制代码
while (true) {  
    // ...  
}

使用一个无限循环(while (true))来重复猜数字的过程,直到用户猜对为止。

读取并检查用户猜测

c 复制代码
System.out.print("猜一个1到100之间的数字: ");  
int guess = scanner.nextInt();

使用System.out.print输出提示信息。

使用scanner.nextInt()从控制台读取用户输入的整数。

判断猜测结果

c 复制代码
if (guess == secretNumber) {  
    System.out.println("恭喜你,猜对了!");  
    break;  
} else if (guess < secretNumber) {  
    System.out.println("猜的数字太小了。");  
} else {  
    System.out.println("猜的数字太大了。");  
}

使用if-else 结构来判断用户的猜测结果。

如果猜对了,输出恭喜信息并使用break退出循环。

如果猜的数字小于秘密数字,输出"猜的数字太小了。"。

如果猜的数字大于秘密数字,输出"猜的数字太大了。"。

关闭Scanner对象

c 复制代码
scanner.close();

关闭Scanner对象以释放与之关联的资源。在实际情况中,如果Scanner对象是在main方法中创建的,并且程序在main方法结束后就终止了,这一步可能不是必需的,但在大型程序中,良好的资源管理实践是始终关闭不再需要的资源。

完整流程

程序启动时,首先生成一个秘密数字。

然后进入无限循环,等待用户输入。

用户输入一个数字后,程序判断该数字与秘密数字的关系,并给出相应的提示。

如果用户猜对了,程序输出恭喜信息并退出循环。

程序结束时,关闭Scanner对象(尽管在这个简单的例子中可能是可选的)。

以上是我对我近期学习的一个总结,如果有不对的地方或者有什么建议的话,都可以提出来哦。

相关推荐
搞不懂语言的程序员2 小时前
Spring源码解析 - SpringApplication run流程-refreshContext(context)源码分析
java·spring
_hermit:2 小时前
【从零开始java学习|第三篇】变量与数据类型的关联
java·学习
sql2008help5 小时前
使用spring-boot-starter-validation实现入参校验
java·开发语言
Mr_Air_Boy5 小时前
springboot集成xxl-job
java·spring boot·spring
Babybreath-6 小时前
Tomcat
java·tomcat
摇滚侠6 小时前
面试实战 问题二十三 如何判断索引是否生效,什么样的sql会导致索引失效
java
悟纤7 小时前
当生产环境卡成 PPT:Spring Boot 线程 Dump 捉妖指南 - 第544篇
java·spring boot·后端
江影影影8 小时前
Spring Boot 2.6.0+ 循环依赖问题及解决方案
java·spring boot·后端
Jonathan丶BNTang9 小时前
IntelliJ IDEA 2025.2 重磅发布
java·ide·intellij-idea
tanxiaomi10 小时前
学习分库分表的前置知识:高可用系统架构理论与实践
java·mysql·spring cloud·系统架构·springboot