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

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

相关推荐
yxlalm3 小时前
Spring AI+RAG 01-项目背景与技术选型
java·人工智能·spring
程序员清风3 小时前
Java 后端高并发设计:线程池、限流、熔断与降级
java·数据库·oracle
Seoyoneh4 小时前
Agentic Workflow编排架构:云客服从“被动响应”迈向“主动执行”的技术实现
java·开发语言·架构
海南java第二人4 小时前
对外 API 如何保证幂等性?插入数据 / 上传表格场景全方案汇总
java·幂等性
tryxr4 小时前
Chat2Excel 文件服务模块上传文件功能开发
java·项目·oss·easyexcel·文件服务
Tangyuewei4 小时前
Java 写 Agent:模型只是组件
java·开发语言
彧azz5 小时前
Java学习语法篇:变量
java·学习
信誓旦旦的程序猿6 小时前
【量化系统从零构建 #04】存储设计:选型·建库·交易日历
java·人工智能·python·股票数据api·股票数据·股票数据api接口·股票api数据接口
yurenpai(27届找实习中)6 小时前
Java 10 的 var 为什么不能随便用?从订单汇总看懂类型推断与泛型陷阱
java·开发语言·java18