有没有办法打印散布的二维数组行?

Is there a way to print interspersed rows of 2d arrays?

所以,我想打印第一个数字数组的第一行,然后在下一行打印第二个数组(字符串数组)的第一行,依此类推。

有办法吗?

这是我的代码:

for (int i = 0; i<=7 ; i++) {
    for (int j = 0; j <=7 ; j++) {
        System.out.print("|  "+MatrizNumeros[i][j]+"  |");
        System.out.print(" ");
    }
    System.out.println(" ");
    for (int k = 0; k <=7 ; k++) {
        System.out.print("|  "+MatrizCaracteres[i][k]+"  |");
        System.out.print(" ");
    }
}

我希望输出如下所示:

印刷应该是怎样的:

您的代码一目了然,您只需在每个循环周期后的值和格式之前添加填充。

一个好的方法是创建一个添加填充的方法,这将有助于避免重复代码:

public void printArrayLine(String[][] array, int row){
    //Value for padding (7 characters)
    int padding = 7;
    //Loop through the row
    for (int x = 0; x < array.length; x++) {
        //Get value
        String value = array[row][x];
        //Calculate padding
        String padding = " ".repeat(padding - value.length());
        //Print pipe, padding and value
        System.out.print("|" + padding + value);
    }
    //Add a "|" the the end of the line and advance to the next line by adding a line separator
    System.out.print("|" + System.getProperty("line.separator"));
}

你可以使用这样的方法:

for (int i = 0; i<=7 ; i++) {
    //print a line of dashes "---"
    System.out.print("-".repeat(57));
    //Print a row from each array
    printArrayLine(MatrizNumeros, i);
    printArrayLine(MatrizCaracteres, i);
}
//print the final line of dashes "---"
System.out.print("-".repeat(57));

结果应该类似于您在任何控制台中使用单一字体的图像。