Java 这在爪哇是合法的吗

Java 这在爪哇是合法的吗,java,Java,当我运行此命令时,我得到 线程“main”java.lang.illigalArgumentException:bound中的“异常”必须是positive 在java.util.Random.nextInt(Uknown源代码) 在EquationMin.main(EquationMin.java:19)理论上/从语法上看POV:yes 但有一个问题: [Random#nextInt(int)]返回一个伪随机的、均匀分布的int值,该值介于0(包含)和指定值(排除)之间,从该随机数生成器的序列

当我运行此命令时,我得到
线程“main”java.lang.illigalArgumentException:bound中的“异常”必须是positive
在java.util.Random.nextInt(Uknown源代码)

在EquationMin.main(EquationMin.java:19)

理论上/从语法上看POV:yes

但有一个问题:

[Random#nextInt(int)]返回一个伪随机的、均匀分布的int值,该值介于0(包含)和指定值(排除)之间,从该随机数生成器的序列中提取

这意味着,
num1
实际上可能是0。但是

[Random#nextInt(int)]抛出: IllegalArgumentException-如果n不是正的

由于每个定义的0不是正数,这将导致出现
IllegalArgumentException

最简单的解决方法是在参数中添加1:

num1 = randomNum.nextInt(20);
num2 = randomNum.nextInt(num1);

为了确保第二次调用
nextInt
的参数永远不会变为0。相反,可以定义一个下限,如
Math.max(num1,1)
或其他任何东西。

理论上/从语法角度看:是

但有一个问题:

[Random#nextInt(int)]返回一个伪随机的、均匀分布的int值,该值介于0(包含)和指定值(排除)之间,从该随机数生成器的序列中提取

这意味着,
num1
实际上可能是0。但是

[Random#nextInt(int)]抛出: IllegalArgumentException-如果n不是正的

由于每个定义的0不是正数,这将导致出现
IllegalArgumentException

最简单的解决方法是在参数中添加1:

num1 = randomNum.nextInt(20);
num2 = randomNum.nextInt(num1);

为确保第二次调用
nextInt
的参数永远不会变为0。相反,可以定义一个下限,如
Math.max(num1,1)
或其他任何值。

num1在本例中为零case@A.Wabbi那么,我如何解决这个问题呢?
num2=randomNum.nextInt(num1+1);
num1在本例中为零case@A.Wabbi那么,我如何解决这个问题呢?
num2=randomNum.nextInt(num1+1);