矩阵打印不正确

时间:2021-02-11 06:49:20

标签: java matrix multidimensional-array

我一直在尝试显示一个矩阵 3xnn 由短语介绍的长度决定。 问题本身是,而不是像这样为 abcdef 显示 3x2 矩阵 screenshot

我使用标准的方式打印它,行用 for 打印,列在里面用另一个打印:

for (int i = 0; i < v1idk.length; i++) {
    for (int j = 0; j < v1idk.length; j++) {
        System.err.println(Arrays.toString(v1idk[i])
                + Arrays.toString(v1idk[j]));
    }

v1idk 是一个 int 变量。是不是跟System.err.println有什么关系,还是这个位没有问题,我应该去别的地方搜索?

如果有必要,这里是 code 的其余部分

1 个答案:

答案 0 :(得分:1)

在您的代码中,Arrays.toString(v1idk[i]) 表示矩阵的第 I 行为字符串,Arrays.toString(v1idk[j]) 表示矩阵的第 J 行为字符串。

让我们说v1idk = {{1, 2}, {3, 4}, {5, 6}}。这里的 v1idk[0]{1, 2}v1idk[1]{3, 4},依此类推。

我希望你的问题现在已经清楚了。

我认为你的问题可以这样解决:

for (int i = 0; i < v1idk.length; i++) {
    for (int j = 0; j < v1idk[0].length; j++) {
        System.err.println(v1idk[i][j]);
    }
}

//Output is 123456

如果要添加空格并查看不同行上的不同行,请按照以下代码操作:

for (int i = 0; i < v1idk.length; i++) {
    for (int j = 0; j < v1idk[0].length; j++) {
        //Adding space between consecutive elements
        System.err.println(v1idk[i][j] + " ");
    }
    System.out.println(); //adds new line after each row
}

//Output is 123456

此处,v1idk.length 表示行数,v1idk[0].length 表示每列的长度。

相关问题