NextInt让Force关闭

1 java random android

每当我尝试执行此操作时,它会在我的应用程序中为我提供FC

int a, b;
Random s = new Random();
    if (diffi.contains("easy") && name.contains("sub")) {
        a = s.nextInt(21);
        b = s.nextInt(a);
    }
Run Code Online (Sandbox Code Playgroud)

但是当删除"a"并将数字放在其位置然后它开始工作

int a, b;
Random s = new Random();
    if (diffi.contains("easy") && name.contains("sub")) {
        a = s.nextInt(21);
        b = s.nextInt(21);
    }
Run Code Online (Sandbox Code Playgroud)

我希望第二个数字"b"在所有情况下都小于a

Jon*_*eet 5

如果第一次调用nextInt返回0 ,则会出现异常.然后第二次调用不能返回大于或等于0但小于0的值,因此异常.

来自以下文档Random.nextInt:

抛出: IllegalArgumentException - 如果n不是积极的话

您应该退一步,并找出为什么您的诊断方法实际上没有看到这些异常细节.你检查过申请日志了吗?我希望异常是明确的,有正确的例外,这样可以明显地说明错了.

编辑:我非常怀疑它实际上是在执行代码抛出异常.相反,我怀疑,要么是代码执行很多次(所以最后你会发现a为0,将引发异常),或者你只是不走运.