Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java Enhanced For Loop

How would I write the following for loop using an enhanced for loop>

    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] + ", ");
      }

I am trying the following, but i guess im doing it incorreclty

for(int i: info){
   body here///
like image 733
user69514 Avatar asked Jan 22 '23 12:01

user69514


1 Answers

Your syntax is correct. The difference is only that you're assigning the actual int value to i instead of the loop index. Thus, if you replace (i+1) % 10 by i % 10 and info[i] by i, it will work correctly.

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 + ", ");
}

To learn more about the enhanced for loop, check this Sun guide.

The above can by the way be shortened with help of the ternary operator ;)

int[] info = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (int i : info) {
    System.out.println(i + (i % 10 == 0 ? "" : ", "));
}
like image 168
BalusC Avatar answered Jan 25 '23 03:01

BalusC