Java 打印数组时每2个字符插入|

Java 打印数组时每2个字符插入|,java,arrays,Java,Arrays,我的问题是,我有一个int数组,我正试图以某种方式打印它。我有一个整数数组,有21个整数。当前,当我打印得到的数组时 [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0] 然而,我希望它看起来像这样,当我打印 |10, 10| 10, 10| 10, 10| 10, 10| 10, 10| 10, 10| 0, 0| 0, 0| 0, 0| 0, 0| 0 我试过这样一个for循环 for(in

我的问题是,我有一个int数组,我正试图以某种方式打印它。我有一个整数数组,有21个整数。当前,当我打印得到的数组时

[10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0]
然而,我希望它看起来像这样,当我打印

|10, 10| 10, 10| 10, 10| 10, 10| 10, 10| 10, 10| 0, 0| 0, 0| 0, 0| 0, 0| 0
我试过这样一个for循环

for(int i = 0; i < game.getRolls().length; i += 2) {
    String sep = "|"
    System.out.print(sep);
    System.out.print(game.getRolls()[i]);
}   
for(int i=0;i
但所有这些都是用|替换其他数字。有没有办法只改变逗号? 谢谢大家!

for(int i=0;ifor(int i = 0; i < game.getRolls().length; i ++)
{
    String sep = "|";
    if(i%2 == 0){
       System.out.print(sep);
    }
    else{
       System.out.print(",");
    }
    System.out.print(game.getRolls()[i]);
} 
{ 字符串sep=“|”; 如果(i%2==0){ 系统输出打印(sep); } 否则{ 系统输出打印(“,”); } System.out.print(game.getRolls()[i]); }
我会将数组保存为局部变量。接下来,迭代和打印对(虽然至少有两个元素,但我将使用格式化io)。然后检查循环后是否有剩余元素,如果有,请打印它。像

int[] rolls = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 
        0, 0, 0, 0, 0, 0, 0, 0, 0 };
int i = 0;
for (; i < rolls.length - 1; i += 2) {
    System.out.printf("| %d, %d ", rolls[i], rolls[i + 1]);
}
if (i < rolls.length) {
    System.out.printf("| %d", rolls[rolls.length - 1]);
}
System.out.println();
int[]rolls={10,10,10,10,10,10,10,10,10,10,10,10,
0, 0, 0, 0, 0, 0, 0, 0, 0 };
int i=0;
对于(;i
这里有一个结合了@user9749556和@M的解决方案ạ新罕布什尔州奎伊ế唐古伊ễ主席的答覆:

for (int i = 0; i < array.length; i++) {
    int item = array[i];

    if (i == array.length - 1) { // The last item
        System.out.print(item);
    } else {
        if ((i + 1) % 2 == 0) {
            System.out.print(item + " | ");
        } else { // The index is odd
            System.out.print(item + ", "); 
        }
    }
}

System.out.println();

因为答案已经被接受,所以请选择lolz。 但我认为这个解决方案更容易阅读

int[] rolls = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
for (int i = 0 ; i < rolls.length ; i++) {
    System.out.print(i % 2 == 0 ? "| " : ", ");
    System.out.print(rolls[i] + " ");
}
System.out.print("|");
// output : | 10 , 10 | 10 , 10 | 10 , 10 | 10 , 10 | 10 , 10 | 10 , 10 | 0 , 0 | 0 , 0 | 0 , 0 | 0 , 0 | 0 |
int[]rolls={10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0};
对于(int i=0;i

如果有一种内置的方法可以知道一个数字是偶数还是不偶数:)
int[] rolls = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
for (int i = 0 ; i < rolls.length ; i++) {
    System.out.print(i % 2 == 0 ? "| " : ", ");
    System.out.print(rolls[i] + " ");
}
System.out.print("|");
// output : | 10 , 10 | 10 , 10 | 10 , 10 | 10 , 10 | 10 , 10 | 10 , 10 | 0 , 0 | 0 , 0 | 0 , 0 | 0 , 0 | 0 |