首页 > 解决方案 > Java中的随机类型对象总是给我相同的数字

问题描述

如何在 Java 中每次获取不同的随机数:

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

public class Guess_tutorial {
    public static void main(String[] args) {

        Random random = new Random(100);
        int rand_num = random.nextInt(100);

        Scanner sc = new Scanner(System.in);
        System.out.println("Enter your number: ");
        int n = sc.nextInt();

        while (n != rand_num) {

            if (n > rand_num) {
                System.out.println("Too high!");
            } else {
                System.out.println("Too low!");
            }

            n = sc.nextInt();
        }
        sc.close();
        System.out.println("That's right!");
    }
}

它总是 15。我做错了什么?努力学习Java。

标签: javarandom

解决方案


您正在将常量种子传递给Random构造函数。不要那样做。并且它将默认为从时间派生的种子。改变

Random random = new Random(100);

Random random = new Random();

推荐阅读