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);