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对象(尽管在这个简单的例子中可能是可选的)。

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

相关推荐
NO.10243 分钟前
11.4八股
java·linux·数据库
天工无极3 分钟前
基于Spring AI实现法律咨询AI助手
java
乐悠小码12 分钟前
Java设计模式精讲---01工厂方法模式
java·设计模式·工厂方法模式
cherry--14 分钟前
集合(开发重点)
java·开发语言
寻星探路27 分钟前
测试开发话题10---自动化测试常用函数(2)
java·前端·python
api_180079054601 小时前
请求、认证与响应数据解析:1688 商品 API 接口深度探秘
java·大数据·开发语言·mysql·数据挖掘
陈果然DeepVersion1 小时前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(十二)
java·spring boot·ai·kafka·面试题·向量数据库·rag
yours_Gabriel1 小时前
【设计模式】UML和设计原则
java·设计模式·uml
唐古乌梁海1 小时前
【Java】JVM 内存区域划分
java·开发语言·jvm
陈果然DeepVersion1 小时前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(九)
java·人工智能·spring boot·微服务·kafka·面试题·rag