Java - 打印2d数组(行之间有空格)

时间:2015-09-11 18:16:00

标签: java arrays

我有一个基本的java问题 - 我有一个数组,我需要对所有元素进行乘法,所以对于输入:

1 2 3

输出将是:

1  2  3 
2  4  8 
3  6  9

如何从主打印2d阵列?
PS - 我希望该方法只返回新的2d数组,而不打印它(我知道我可以在没有方法的情况下完成它并在嵌套循环中打印mat [i] [j])

public class Main {
    public static void main(String[] args) {
        int[] array = {1, 2, 3};
        System.out.println(matrix(array));
    }

    public static int[][] matrix(int[] array){
        int[][] mat = new int[array.length][array.length];
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length; j++) {
                mat[i][j] = array[i] * array[j];
            }
        }

        return mat;
    }
}

1 个答案:

答案 0 :(得分:2)

您必须打印数组的所有单个元素,因为如果您只是尝试打印数组,它将打印您可能不想看到的各种其他内容。所以你樱桃挑选出你想要的东西,并将其格式化一点。在下面的代码中,您打印了每个元素,在一个空格中分隔,直到它到达一个新行,然后跳转到一个新行。

int[][] matrixArray = matrix(array);

for(int i = 0, i < matrixArray.length; i++) {
    for(int j = 0; j < matrixArray[0].length; j++) {
        System.out.print(matrixArray[i][j] + " ");
    }
    System.out.println();
}