gpt4 book ai didi

java - 这个语句在Java中合法吗

转载 作者:行者123 更新时间:2023-12-01 16:52:25 25 4
gpt4 key购买 nike

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

当我运行这个时,我得到
“线程“main”中的异常 java.lang.illigalArgumentException:绑定(bind)必须为正
在 java.util.Random.nextInt(来源未知)
在 EquationMin.main(EquationMin.java:19)

最佳答案

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

但是有一个问题:

[Random#nextInt(int)] Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.

来自docs 。这意味着num1实际上可能是0。但是

[Random#nextInt(int)] Throws: IllegalArgumentException - if n is not positive

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

最简单的解决方法是简单地向参数添加 1:

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

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

关于java - 这个语句在Java中合法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37381036/

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