Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NextInt给力关闭_Java_Android_Random - Fatal编程技术网

Java NextInt给力关闭

Java NextInt给力关闭,java,android,random,Java,Android,Random,无论何时我尝试执行它,它都会在我的应用程序上为我提供FC int a, b; Random s = new Random(); if (diffi.contains("easy") && name.contains("sub")) { a = s.nextInt(21); b = s.nextInt(a); } 但是当移除一个并在其位置放置一个数字时,它就开始工作了 int a, b; Random s = new Random(

无论何时我尝试执行它,它都会在我的应用程序上为我提供FC

int a, b;
Random s = new Random();
    if (diffi.contains("easy") && name.contains("sub")) {
        a = s.nextInt(21);
        b = s.nextInt(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的值,因此出现异常

从Random.nextInt的文档中:

抛出:IllegalArgumentException-如果n不是正数

不过,您应该退一步,弄清楚为什么您的诊断方法实际上没有看到这些异常细节。你检查过应用程序日志了吗?我希望例外是清楚的,有正确的例外,这将使错误变得相当明显


编辑:我非常怀疑它在执行代码时是否真的抛出异常。相反,我怀疑该代码执行了很多次,因此最终您将看到a为0并抛出异常,或者您只是运气不好。

如果对nextInt的第一次调用返回0,您将得到异常。然后第二个调用不能返回大于或等于0但小于0的值,因此出现异常

从Random.nextInt的文档中:

抛出:IllegalArgumentException-如果n不是正数

不过,您应该退一步,弄清楚为什么您的诊断方法实际上没有看到这些异常细节。你检查过应用程序日志了吗?我希望例外是清楚的,有正确的例外,这将使错误变得相当明显


编辑:我非常怀疑它在执行代码时是否真的抛出异常。相反,我怀疑该代码执行了很多次,因此最终您将看到a为0并引发异常,或者您只是运气不好。

我希望第二个数字b在所有情况下都小于a。如果a和b都声明且都为int,则第一个代码示例中的代码会这样做。强制关闭。我想我为这个问题给安卓加了标签。@user2479697:Gotcha。仍然值得把它打印出来-告诉我们变量a和b的初始化位置。@user2479697已初始化,而不是declaredI我希望第二个数字b在所有情况下都小于a第一个代码示例中的代码,前提是a和b都已声明,并且都为int。强制关闭。我想我为这个问题给安卓加了标签。@user2479697:Gotcha。仍然值得把它打印出来-告诉我们变量a和b的初始化位置。@user2479697已初始化,而不是declared,但为什么每次我尝试执行…?似乎我遇到了一个糟糕的巧合:PYour nextInt返回0只是为了引起Skeet的注意…:但为什么每次我试图执行…?似乎我有一个糟糕的巧合:Pyor nextInt返回0只是为了引起Skeet的注意…:D