java - 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。
解决方案
您正在将常量种子传递给Random
构造函数。不要那样做。并且它将默认为从时间派生的种子。改变
Random random = new Random(100);
至
Random random = new Random();
推荐阅读
- ruby - 如何递归地将嵌套哈希展平为具有特定格式的数组数组?
- scikit-learn - RobustScaler partial_fit() 类似于 MinMaxScaler 或 StandardScaler
- asp.net - 从控制器调用正确的方法(MVC,RAZOR)
- android - 无法从真正的 Android 设备访问 Node.js 的 IP 地址
- matplotlib - 使用 Mayavi 3D 绘图将轴设置为半对数
- python - 如何将元组列表写入excel
- android - 如何在 YouTubePlayer 中以最小的播放器样式更改颜色加载器?
- angular - Angular - 错误 TS2345:“NgForm”类型的参数不可分配给“Ussdthirdpartyapp”类型的参数
- javascript - 花式滑块密码笔
- excel - 我无法将数据转换为适当的格式