Java Enhanced For Loop - PullRequest
       13

Java Enhanced For Loop

4 голосов
/ 25 февраля 2010

Как бы я написал следующее для цикла с использованием расширенного цикла for>

    int [] info = {1,2,3,4,5,6,7,8,9,10};

      int i;
      for (i = 0; i < info.length; i++) {
             if ((i+1) % 10 == 0)
                      System.out.println(info[i]);
             else
                      System.out.println(info[i] + ", ");
      }

Я пытаюсь сделать следующее, но я думаю, что я делаю это неправильно

for(int i: info){
   body here///

1 Ответ

9 голосов
/ 25 февраля 2010

Ваш синтаксис правильный. Разница лишь в том, что вы присваиваете фактическое значение int i вместо индекса цикла. Таким образом, если вы замените (i+1) % 10 на i % 10 и info[i] на i, все будет работать правильно.

int[] info = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (int i : info) {
    if (i % 10 == 0)
        System.out.println(i);
    else
        System.out.println(i + ", ");
}

Чтобы узнать больше об улучшенном цикле for, проверьте это руководство по Sun .

Кстати, вышесказанное можно сократить с помощью троичного оператора ;)

int[] info = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (int i : info) {
    System.out.println(i + (i % 10 == 0 ? "" : ", "));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...