У меня есть ситуация, когда теорема о возврате, вложенная в два цикла, всегда будет достигнута теоретически. Компилятор не согласен и требует выражения return вне цикла for. Я хотел бы знать элегантный способ оптимизации этого метода, который, помимо моего нынешнего понимания, ничто из моих попыток реализации перерыва, похоже, не работает. Attached - это метод из присваивания, который генерирует случайные целые числа и возвращает итерации, циклические до тех пор, пока не будет найдено второе случайное целое, сгенерированное в пределах диапазона, переданного в метод как параметр 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
}