IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java——猜数字游戏 -> 正文阅读

[Java知识库]Java——猜数字游戏

目录

🍑前置知识

🍑题目要求?

🍑代码实现?

🍑测试?


🍑前置知识

既然是猜数字那么就要生成一个随机数

在Java中要生成一个指定范围之内的随机数字有两种方法:一种是调用 Math 类的 random() 方法,一种是使用 Random 类。

?

?📝Random 类提供了丰富的随机数生成方法,可以产生 boolean、int、long、float、byte 数组以及 double 类型的随机数,这是它与 random() 方法最大的不同之处。random() 方法只能产生 double 类型的 0~1 的随机数。

Random 类位于 java.util 包中,该类常用的有如下两个构造方法。

  • Random():该构造方法使用一个和当前系统时间对应的数字作为种子数,然后使用这个种子数构造 Random 对象。
  • Random(long seed):使用单个 long 类型的参数创建一个新的随机数生成器。

比如要随机生成一个整数的方法就是:

int nextlnt()生成一个随机的 int 值,该值介于 int 的区间,也就是 -231~231-1。如果
需要生成指定区间的 int 值,则需要进行一定的数学变换
int nextlnt(int n)生成一个随机的 int 值,该值介于 [0,n),包含 0 而不包含 n。如果想生成
指定区间的 int 值,也需要进行一定的数学变换

?

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random r = new Random(); // 实例化一个Random类
        int num = r.nextInt(101); // 用Random类中的nextInt(int n)方法生成一个【0,n)的随机数
        System.out.println(num);
    }
}

?

🍑题目要求?

📝猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。

📝程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。

?

🍑代码实现?

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

public class Main {
    public static void main(String[] args) {
        Random r = new Random(); // 实例化一个Random类
        int num = r.nextInt(101); // 用Random类中的nextInt(int n)方法生成一个【0,n)的随机数
        Scanner in = new Scanner(System.in);
        System.out.println("请输入最多能猜几次:");
        int max = in.nextInt();  // max代表用户最多能猜多少次
        System.out.println("随机数已经产生,猜猜看,你一共有" + max + "次猜的机会!");
        int flag = 0; // 如果在5次内猜对了就把flag置为1,作为标志
        for (int i = 1; i <= max; i++) {
            System.out.println("请输入你第" + i + "次猜的结果:");
            int n = in.nextInt(); // 输入自己本次所猜的数
            if (n < 0) {
                System.out.println("Game Over"); // 在到达
                return;
            }
            if (n > num) {
                System.out.println("Too big");  // 猜大了
            }
            else if (n < num) {
                System.out.println("Too small"); // 猜小了
            }
            else { // 此时说明猜对了
                flag = 1;
                if (i <= 1) System.out.println("Bingo!");
                else if (i <= 3) System.out.println("Lucky You!");
                else System.out.println("Good Guess!");
            }
        }
        if (flag == 0) System.out.println("Game Over");
    }
}

?

🍑测试?

?

?

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-27 17:14:02  更:2022-05-27 17:14:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:01:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码