每当我尝试执行此操作时,它会在我的应用程序中为我提供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
答案 0 :(得分:5)
如果对nextInt
的第一次调用返回0,则会出现异常。然后第二次调用不能返回大于或等于0但小于0的值0,因此例外。
来自Random.nextInt
的文档:
投掷:
IllegalArgumentException
- 如果n
不是正面
你应该退一步,找出你的诊断方法实际上没有看到那些异常细节的原因。你检查过申请日志了吗?我希望异常是明确的,有正确的例外,这样可以明显地说明错误。
编辑:我非常怀疑,无论何时执行该代码,它实际上都会抛出异常。相反,我怀疑要么代码执行了很多次(所以最终你会看到a
为0并且会抛出异常)或你只是不走运。