java - 如何以矩阵格式排列输出?#java

标签 java arrays

public class array1 {
    public static void main(String args[]) {
        int twod[][] = new int[4][5];
        int i, j, k = 0;
        for (i=0; i < 4; i++) {
            for (j=0; j < 5;j++) {
                twod[i][j] = k;
                k++;
            }  
        }

        for (i=0; i < 4; i++) {
            for (j=0; j < 5;j++) {
                System.out.println(twod[i][j] + " ");
            }
            System.out.println();
        }          
    }
}

谁能告诉我如何修改代码以获得矩阵格式的输出?当我编译这个程序时,输出是 0 到 19,它是垂直对齐的,而不是矩阵格式。谁能帮帮我吗?

最佳答案

当你想要打印一个值时,只需使用 print() ,而当你真正想要打印后跟换行符时,仅使用 println() :

for (i=0; i < 4; i++) {
    for (j=0; j < 5; j++) {
        if (j > 0) System.out.print(" ");
        System.out.print(twod[i][j]);
    }
    // now that a complete row has been printed, go to the next line
    System.out.println();
}

请注意,这个答案可能仍然会给您留下一个看起来有些破烂的矩阵,因为并非数据集中的所有数字都具有相同的宽度。我们需要做更多的工作才能将所有内容放入格式良好的列中。

这是使用 String.format 对上述内容进行的一项改进,固定字段宽度为 5:

for (i=0; i < 4; i++) {
    for (j=0; j < 5; j++) {
        if (j > 0) System.out.print(" ");
        System.out.print(String.format("%5s" , String.valueOf(twod[i][j])));
    }
    System.out.println();
}

这会生成:

    0     1     2     3     4
    5     6     7     8     9
   10    11    12    13    14
   15    16    17    18    19

关于java - 如何以矩阵格式排列输出?#java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54852883/

相关文章:

java - Replace 或 ReplaceAll 函数不会删除换行符

java - 取一个java小程序的 "screenshot"

javascript - 根据键合并两个 n 个对象数组

php - php 中的函数 array_multisort 更改我的数组的键

Java - 在数组干草堆中查找针的一部分的索引

java - 计算Java 1.4中两个列表的不对称差异

用于移动设备登录 session 的 Java EE 标准?

java - 如何在 Java 中循环遍历大型 SQL 结果集或一次获取 X 行数

ios - 如何为 NSNumbers 数组的数组定义 Objective-C 轻量级泛型?

javascript - 比较 : Resizing ArrayBuffer with buffer views (Uint8 vs Float64), 我错过了什么吗?