每当我尝试执行它时,它都会在我的应用程序上给我 FC
int a, b;
Random s = new Random();
if (diffi.contains("easy") && name.contains("sub")) {
a = s.nextInt(21);
b = s.nextInt(a);
}
但是当删除“a”并在其位置放置一个数字时,它就会开始工作
int a, b;
Random s = new Random();
if (diffi.contains("easy") && name.contains("sub")) {
a = s.nextInt(21);
b = s.nextInt(21);
}
我希望第二个数字“b”在所有情况下都小于a
最佳答案
如果第一次调用 nextInt
返回 0,您将得到一个异常。然后第二次调用不能返回一个大于或等于 0 的值但小于 0,因此异常(exception)。
来自 Random.nextInt
的文档:
Throws:
IllegalArgumentException
- ifn
is not positive
不过,您应该退后一步,弄清楚为什么您的诊断方法实际上没有看到这些异常详细信息。您检查过应用程序日志了吗?我希望异常(exception)情况是清楚的,有正确的异常(exception)情况,这将使错误变得相当明显。
编辑:我非常怀疑它实际上是在每当执行代码时抛出异常。相反,我怀疑 或者 该代码执行了很多次(所以最终您会看到 a
为 0 并且将抛出异常)或者 你只是运气不好。
关于java - NextInt 强制关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17132696/