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

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

相关推荐
凤凰院凶涛QAQ7 小时前
《Java版数据结构 & 集合类剖析》Map & Set & 反射:“从哈希碰撞到红黑树转换,反射帮你扒开 HashMap 的桶数组看个究竟”
java·数据结构·算法
H.莓飛7 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
wangchunyu1148 小时前
JAVA AQS与Lock实现原理(含CAS)
java·开发语言·word
Codiggerworld9 小时前
从“装一套协议”到“扔进终端”:MCP 与 CLI 的 Agent 工具层之争
人工智能·程序人生·ai编程
w_zero_one9 小时前
算法--模拟
java·数据结构·算法
Javatutouhouduan9 小时前
阿里1658页Java面试题总结(含答案)
java·高并发·java面试·java面试题·后端开发·java程序员·java八股文
秋天的怀念_David10 小时前
算法一千零一夜 · 第十三夜 幻方,武侠世界里的数学迷宫
java·程序人生·算法
lll235269177910 小时前
HR如何快速整理面试沟通内容?
面试·职场和发展
专业程序开发源10 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计
零售校长10 小时前
西湖区零售门店店长面试怎么准备
面试·职场和发展·零售