Я хотел бы вернуть все результаты "10" в этом java методе:
class Test {
public int loop(int[][] numbers, int total, int position) {
for (int i = 0; i < numbers[position].length; i++) {
int newTotal = total + numbers[position][i];
if (newTotal == 10) return newTotal;
else if (position < numbers.length-1) {
int result = loop(numbers, newTotal, position+1);
if (result != -1) return result;
}
}
return -1;
}
public static void main(String args[]) {
Test test = new Test();
int[][] numbers = { {6, 3, 2, 4}, {5, 4, 2}, { 7, 4, 3}, {2, 6} };
System.out.println(test.loop(numbers, 0, 0));
}
}
Но у меня есть некоторые ограничения:
1 / Я не могу использовать глобальная переменная, такая как:
int[] results; // It's an object and i don't want to wait
2 / Кроме того, я не могу сохранить результат, а затем вернуть их, например:
return results; // The loop can take 5 minutes, i don't want to wait
3 / Кроме того, я не могу напечатать результаты по каждому l oop, такие как:
System.out.println(result); // The view must be independant from my model
Единственный способ увидеть это - использовать время:
While () {
System.out.println(loop( i ???));
}
Но я не знаю, в каком Я каждый раз получаю 10 ...
Ты знаешь, как это решить?