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

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

相关推荐
hong_zc1 小时前
算法【Java】—— 二叉树的深搜
java·算法
进击的女IT2 小时前
SpringBoot上传图片实现本地存储以及实现直接上传阿里云OSS
java·spring boot·后端
Miqiuha2 小时前
lock_guard和unique_lock学习总结
java·数据库·学习
一 乐3 小时前
学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习
数云界3 小时前
如何在 DAX 中计算多个周期的移动平均线
java·服务器·前端
阑梦清川3 小时前
Java继承、final/protected说明、super/this辨析
java·开发语言
快乐就好ya5 小时前
Java多线程
java·开发语言
IT学长编程5 小时前
计算机毕业设计 二手图书交易系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·二手图书交易系统
CS_GaoMing5 小时前
Centos7 JDK 多版本管理与 Maven 构建问题和注意!
java·开发语言·maven·centos7·java多版本
艾伦~耶格尔6 小时前
Spring Boot 三层架构开发模式入门
java·spring boot·后端·架构·三层架构