循环遍历数组并以特定方式列出

时间:2013-10-09 13:04:44

标签: java arrays for-loop

我试图遍历16个元素的ListArray。我想列出四个元素,然后创建一个新行,依此类推。 到目前为止,这是我的代码:

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

3 个答案:

答案 0 :(得分: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 :(得分:0)

使用这个简单的循环:

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

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

答案 2 :(得分: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,则在最后一个块之后会得到一个额外的空行。