最佳答案
我遇到了这样一种情况: 嵌套在两个 for循环中的 return语句总是能够到达,理论上是这样的。
编译器不同意,需要在 for循环之外使用 return语句。我想知道一种优雅的方法来优化这个方法,这种方法超出了我目前的理解范围,而且我尝试的 break 实现似乎都没有成功。
附加的方法来自一个赋值,该赋值生成随机整数并返回循环的迭代,直到找到第二个随机整数,在作为 int 参数传入该方法的范围内生成。
private static int oneRun(int range) {
int[] rInt = new int[range+1]; // Stores the past sequence of ints.
rInt[0] = generator.nextInt(range); // Inital random number.
for (int count = 1; count <= range; count++) { // Run until return.
rInt[count] = generator.nextInt(range); // Add randint to current iteration.
for (int i = 0; i < count; i++) { // Check for past occurence and return if found.
if (rInt[i] == rInt[count]) {
return count;
}
}
}
return 0; // Never reached
}