2013-10-09 2 views
1

Я пытаюсь перебрать ListArray из 16 элементов. Я хочу перечислить четыре элемента, а затем создать новую строку и так далее. Это мой код до сих пор:Цикл через массив и список в определенном порядке

int count = 0; 

for(int i = 0; i < 16; i++) 
{ 
    count++; 

    if (count == 4){ 
     count = 0; 
     System.out.println(); 

    } 
     System.out.println(ArrayList.get(i)); 
} 


Мой вывод:
Три элемента
Четыре элемента
Четыре элемента
Четыре элементы
один элемент


Это в результате я хочу:
Четыре элемента, затем новая линия
Четыре элемента, затем новая линия
И так далее. До 16 полных элементов.


элемент 1, элемент 2, элемент 3, элемент 4
элемент 5, элемент 6, элемент 7, элемент 8
элемент 9, элемент 10, элемент 11, элемент 12
элемент 13, элемент 14, Элемент 15, Элемент 16

ответ

0

Попробуйте это:

for(int i = 0; i < 16; i++) 
{ 
    if (i > 0 && (i % 4) == 0){ 
     System.out.println(); 

    } 

    System.out.println(ArrayList.get(i)); 
} 

То есть вы должны увеличивать послеif.

i > 0 необходимо, чтобы избежать печати пустой строки в начале.

При перемещении if после печати данных:

if (i < 15 && (i % 4) == 3){ 
    System.out.println(); 
} 

Без i < 15, Вы получаете дополнительную пустую строку после последнего блока.

+0

Что это за 'счет'? – Maroun

+0

@MarounMaroun: Скопируйте и вставьте ошибку. Спасибо :-) Исправлено. –

2

Попробуйте использовать оператор modulo.

for(int i = 0; i < 16; i++) { 
    System.out.println(ArrayList.get(i)); 
    if (i % 4 == 3 && i != 15){ 
     System.out.println(); 
    } 
} 

Также есть условность иметь переменные с первой буквой в нижнем регистре в Java так переименовывать ArrayList в arrayList.

+1

-1 Это создает блок из 3 элементов, NL, четыре элемента, NL, ... –

+0

Извините, исправлено –

+0

Это все еще неправильно. –

0

Используйте этот простой цикл:

for (int i = 0; i < 16; i++) { 
    System.out.println(ArrayList.get(i)); 

    if ((i % 4) == 3) { 
     System.out.println(); 
    } 
} 
+0

-1 снова блок из 3, NL, блок 4, ... –

+0

Странно получить -1. Мне интересно, почему? –

+0

Вы уверены? Попробуйте –

Смежные вопросы