Java小游戏:趣味猜数字

  • 👑专栏内容:Java
  • ⛪个人主页:子夜的星的主页
  • 💕座右铭:前路未远,步履不停

目录


Hello!我们来用前面学过的东西一起做个猜数字的小游戏吧。

一、游戏介绍

游戏会随机生成一个数字,你的任务是通过猜测来逼近这个数字。在每次猜测后,系统将给出提示,告诉你猜的数字是太大还是太小,然后让你重新猜,直到结果正确。

所涉及知识:随机数的生成、输入输出、分支结构、循环结构

二、输入输出

1、输出的控制台

java 复制代码
System.out.println("你好!"); // 输出一个字符串, 带换行
System.out.print("你好!"); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出

println 输出的内容自带换行, print 不带换行。

System.out.printf 是 Java 中用于格式化输出的方法。它使用格式字符串来指定输出的格式,然后根据提供的参数生成最终的输出字符串。这方法类似于 C 语言中的 printf 函数。

java 复制代码
public class Main {
        public static void main(String[] args) {
            int age = 25;
            double salary = 50000.50;
            // 使用 printf 格式化输出
            System.out.printf("Age: %d, Salary: %.2f%n", age, salary);
        }
}

2、从键盘上输入

使用Scanner读取字符串/整数/浮点数。

下面举例演示一下Scanner的用法:

java 复制代码
import java.util.Scanner;

public class ScannerExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 读取整数
        System.out.print("请输入一个整数: ");
        int number = scanner.nextInt();
        System.out.println("你输入的整数是: " + number);

        // 读取字符串
        System.out.print("请输入一个字符串: ");
        String inputString = scanner.next();
        System.out.println("你输入的字符串是: " + inputString);

        scanner.close();
    }
}

使用Scanner 要导入相关的包。import java.util.Scanner;

sc.close()是Scanner类中的一个方法,用于关闭Scanner对象并释放与其关联的资源。调用这个方法可以确保程序在结束时释放Scanner对象和其它资源,以便下次使用时不会出现问题。

三、随机数生成

在Java编程语言中,随机生成0~100之间的随机数可以使用Java标准库中的java.util.Random类来实现。其中,Random类的nextInt()方法可以用于生成指定范围内的随机整数。

举个例子:

java 复制代码
import java.util.Random;
public class Main {
    public static void main(String[] args) {
        Random rand = new Random();
        int num = rand.nextInt(100) + 1; // 生成1~100之间的随机整数
        System.out.println("随机数是:" + num);
    }
}

在这个例子中,我们首先创建了一个Random对象rand,然后使用nextInt()方法生成0~100之间的随机整数,最后将生成的随机数输出到控制台。

需要注意的是,nextInt()方法返回的随机数范围是从0开始,不包括上限,因此生成的随机数可能是0~99之间的整数。为了包含100和1,我们应该在生成的随机数后面再加上1。

四、游戏实现

游戏规则:

系统自动生成一个随机整数(1~100),然后由用户输入一个猜测的数字。 如果输入的数字比该随机数小,提示 "低了",

如果输入的数字比该随机数大,提示 "高了" ,如果输入的数字和随机数相等, 则提示 "猜对了" 。

java 复制代码
import java.util.Scanner;
import java.util.Random;
public class Main {
    public static void main(String[] args) {
        Random random = new Random(); // 默认随机种子是系统时间
        Scanner sc = new Scanner(System.in);
        int toGuess = random.nextInt(100)+1;
        while (true) {
            System.out.print("请输入要输入的数字(1-100): ");
            int num = sc.nextInt();
            if (num < toGuess) {
                System.out.println("低了");
            } else if (num > toGuess) {
                System.out.println("高了");
            } else {
                System.out.println("猜对了");
                break;
            }
        }
        sc.close();
    }
}
相关推荐
badhope10 分钟前
Spring AI Alibaba停更:Java程序员的信任,还能被辜负几次?
java·spring
const_qiu17 分钟前
第一章 1.1-1.2:基础模型调用与 TypeScript 入门 —— Java 开发者的视角
java·javascript·typescript
Wang's Blog22 分钟前
Java 项目实战: 交友项目 - Dubbo 负载均衡策略与实战验证
java·dubbo·交友
SL_staff27 分钟前
销售知识库7天落地实践:面向业务侧的零代码嵌入方案
java·开源·产品
kimnoic29 分钟前
PHP 8.2的DNF类型怎么用才规范
开发语言·php
GreatSQL社区36 分钟前
主从复制SQL线程中断——字符集砸出的坑
java·数据库·算法
_Evan_Yao1 小时前
前后端联调怎么排查问题?从 Network 到后端日志,一步步定位错误
开发语言·后端·团队开发·需求分析
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 入门案例:服务提供者搭建总结
java·交友
hudd6681 小时前
JavaEE 初阶 - 多线程(进阶)
java·开发语言·java-ee
小白快快跑哦1 小时前
python-字符串全解(六):正则表达式-前后相断言
开发语言·python·正则表达式·前后相断言