gpt4 book ai didi

java - 为什么 Math.random() 语句采用这种格式?

转载 作者:行者123 更新时间:2023-12-03 02:29:51 24 4
gpt4 key购买 nike

我是 Java 的初学者,所以我很抱歉这可能是一个非常愚蠢的问题。这是一个猜测两个随机数的程序。为什么 Math.random 后面跟着“* (MAX + 1 - MIN))) + MIN;”。另外,Math.random 如何知道生成 1 到 3 之间的数字而不是更高的数字?

  Scanner scan = new Scanner(System.in);
final int MIN = 1, MAX = 3;
int firstAnswer = ((int)(Math.random() * (MAX + 1 - MIN))) + MIN;
int secondAnswer = ((int)(Math.random() * (MAX + 1 - MIN))) + MIN;
int firstGuess, secondGuess;

感谢您的帮助!!

最佳答案

Math.random() 生成范围 [0, 1) 内的 double。如果将其乘以 (3+1-1),并将其转换为 int,则会得到 [0, 3) 范围内的数字。由于数字现在是 int,这意味着它在 [0, 2] 范围内。如果将其与 1 相加,则会得到 [1, 3] 范围内的一个整数,即 1、2 或 3。

关于java - 为什么 Math.random() 语句采用这种格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46999275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com