Java условный цикл - PullRequest
       70

Java условный цикл

3 голосов
/ 23 сентября 2019

Я пытаюсь выполнить цикл для объекта, пока не будет выполнено условие.

Например:

Input input = new inputFile(fileName);
input.nextMove();  // returns the next line - EOF returns null

Итак, я хочу сделать что-то вроде:

for (int[] move = input.nextMove(); move != null) {
    System.out.println(Arrays.toString(move));
}

Цикл IE до конца файла.

Вопрос

Какой лучший способ зациклить объект?

Ответы [ 2 ]

4 голосов
/ 23 сентября 2019

Это типичный Iterator шаблон

while(iterator.hasNext()) {
    T element = iterator.next();
}

, который в вашем случае можно настроить на

int[] move;
while((move = input.nextMove()) != null) {
    System.out.println(Arrays.toString(move));
}
0 голосов
/ 23 сентября 2019

Ну, вы могли бы сделать

int[] line;
while ((line = input.nextMove()) != null) { ... }

, предполагая, что nextMove() возвращает int[].

Эта конструкция присваивает результат nextMove() для line, чтозатем доступно в теле while.Здесь вы видите, что такое присваивание может использоваться как выражение, производящее значение, и, следовательно, его можно сравнить.В этом случае цикл прерывается, если line равно null.

...