我有一个基本的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;
}
}
答案 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();
}