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();
    }
}
相关推荐
野犬寒鸦几秒前
MyBatis-Plus 中使用 Wrapper 自定义 SQL
java·数据库·后端·sql·mybatis
expect7g7 分钟前
Java的DNS缓存问题
java·后端
oioihoii8 分钟前
C++11中的std::minmax与std::minmax_element:原理解析与实战
java·开发语言·c++
超龄超能程序猿8 分钟前
使用 Python 对本地图片进行图像分类
开发语言·人工智能·python·机器学习·分类·数据挖掘·scipy
wkj00113 分钟前
php中调用对象的方法可以使用array($object, ‘methodName‘)?
android·开发语言·php
karry013032 分钟前
高并发导致重复key问题--org.springframework.dao.DuplicateKeyException
java·数据库·ide
全栈凯哥34 分钟前
20.缓存问题与解决方案详解教程
java·spring boot·redis·后端·缓存
hudawei99641 分钟前
kotlin中withContext,async,launch几种异步的区别
android·开发语言·kotlin
消失的旧时光-19431 小时前
Kotlin 常用语法糖完整整理
android·开发语言·kotlin
小莫分享1 小时前
2023年最新总结,阿里,腾讯,百度,美团,头条等技术面试题目,以及答案,专家出题人分析汇总。
java·后端·面试·职场和发展