当前位置: 首页 > article >正文

Java---猜数字游戏

本篇文章所实现的是Java经典的猜数字游戏 , 运用简单代码来实现基本功能

目录

一.题目要求

二.游戏准备

三.代码实现 


一.题目要求

随机生成一个1-100之间的整数(可以自己设置区间),提示用户猜测,猜大提示"猜大了",猜小提示"猜小了",共有5次机会,都未猜中输出"游戏失败!",用户输入[1,100]范围外的数字,输出"输入错误,游戏结束" , 若在五次机会内猜中则输出"猜对了!游戏成功!" 


二.游戏准备

使用Random类

Random 类提供了丰富的随机数生成方法,可以产生 boolean、int、long、float、byte 数组以及 double 类型的随机数,

注意:产生的随机数是伪随机数

真随机数:是通过物理现象生成的,例如掷硬币、骰子、电子元件的噪音等。这些物理现象的结果是不可预测的,因此生成的随机数也是完全随机的。真随机数通常需要专门的硬件设备来生成,成本较高,但在需要高度安全性和随机性的场景中,如密码学中的加密密钥生成,真随机数是必不可少的。---百度

伪随机数是通过算法生成的,看起来像是随机的数值。伪随机数生成器,使用一个初始值(种子)和一定的计算方法来生成随机数。只要种子和算法相同,生成的随机数序列也是相同的。因此,伪随机数实际上是可预测的,但由于其周期较长,通常在大多数应用中已经足够使用。---百度

Random类具体使用步骤:

1.Random类位于Java.util中,在使用前需要导入该包

import java.util.Random;

2.创建Random对象

 Random random = new Random();

3.使用nextInt(int bound)方法 生成随机整数

int random_number = random.nextInt(100);

注意: random类中生成随机整数的方法有两种  

nextInt() nextInt()   默认生成的整数范围是int类型的取值范围   
nextInt(int bound)生成[0,bound)范围的随机数(bound的是我们括号内所输入的数字)

而在本题中我们想生成一个范围在[1,100]的随机数所以我们使用第2种方法 

如果我们所输入的数字是100 , 由于右侧是开区间 , 所以真正的整数范围是[0,99] , 如果想要范围在[1,100]的整数我们可以为此范围整体加1,即为

int random_number = random.nextInt(100)+1;

三.代码实现 

import java.util.Random;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Random random = new Random();//默认随机种子是系统时间
        int random_number = random.nextInt(100)+1;
        Scanner scanner = new Scanner(System.in);
        int number=0;
        System.out.println("您共有五次机会猜数字,范围:[1,100]");
        while(true){
            number++;
            if(number>5) {
                System.out.println("游戏失败!");
                break;
            }
            System.out.println("请输入: ");
            int guessNumber = scanner.nextInt();
            if(guessNumber>100||guessNumber<1){
                System.out.println("输入错误,游戏结束");
                break;
            }
            if(guessNumber>random_number){
                System.out.println("猜大了");
            }else if(guessNumber<random_number){
                System.out.println("猜小了");
            }else{
                System.out.println("猜对了!游戏成功!");
                break;
            }
        }
scanner.close();
    }
}

本篇文章仅使用最简单的程序来实现猜数字小游戏大家有兴趣的可以尝试实现循环开始游戏,

我也会在后续的内容中为大家更新!


http://www.kler.cn/a/525781.html

相关文章:

  • 适配器模式
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.30 性能巅峰:NumPy代码优化全攻略
  • FortiOS 存在身份验证绕过导致命令执行漏洞(CVE-2024-55591)
  • redis缓存和springboot缓存包冲突怎么办
  • CTF-web: Python YAML反序列化利用
  • C#字典Dictionary用法详解
  • wordpress每隔24小时 随机推荐一个指定分类下的置顶内容。
  • 【Elasticsearch 】自定义分词器
  • Pyside6(PyQT5)的QSqlQueryModel的常用方法
  • 【C语言】main函数解析
  • 上位机知识篇---GitGitHub
  • 在MIMIC IV数据库的derived中有bg、chemistry和vitalsign,它们都有Glucose指标,如何区分?
  • C++并发编程指南06
  • 基于springboot的校园部门资料管理系统
  • 搜索引擎快速收录:关键词布局的艺术
  • DeepSeek回答人不会干出超出视角之外的事
  • 高速PCB设计指南4——叠层设计与PCB技术
  • 【CS61A 2024秋】Python入门课,全过程记录P4(Week7 Generators开始,更新于2025/1/30)
  • 使用langchain ollama gradio搭建一个本地基于deepseek r1的RAG问答系统
  • C28.【C++ Cont】顺序表的实现
  • 详细解释java当中的所有知识点(前言及数据类型及变量)(第一部分)
  • 《攻克语言密码:教AI理解隐喻与象征》
  • Airflow:深入理解Apache Airflow 调度器
  • Github 2025-01-30 Go开源项目日报 Top10
  • Linux下多线程编程
  • MySQL 事务的隔离级别