1

我的教授希望我在两个矩阵之间用“+”和“=”符号并排打印出矩阵。最后,他希望我们将矩阵相加。

这是迄今为止的工作。

所以结果会是:

1 2 3   9 8 7   10 10 10
4 5 6 + 6 5 4 = 10 10 10
7 8 9   3 2 1   10 10 10

enter code here public static void main(String[] args) {
    int matrix1[][] = {{1,2,3},{4,5,6},{6,7,8}};
    int matrix2[][] = {{9,8,7},{6,5,4},{3,2,1}};
    int result1;
    int[][] result2 = new int[2][3];


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

    }

    for (int i = 0; i < matrix2.length; i++) {
        for (int j = 0; j < matrix2[0].length; j++) {
            System.out.printf(matrix2[i][j] + " ");

        }

    System.out.println("");



    }
}

我的问题是,我怎样才能将它与解决方案并排打印?

4

2 回答 2

1

考虑矩阵的两个打印循环:

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

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

他们打印矩阵 1,然后打印 2 - 因此矩阵将位于彼此下方。

如果你想要并排的矩阵,你需要打印每个矩阵的第 1 行,然后 - 在新行之后 - 每个矩阵的第 2 行,等等。通过重新安排循环如何通过矩阵,你可以让你的新版面。

于 2013-01-25T15:50:04.557 回答
0

不幸的是,您不能一次打印一个,您需要逐行打印。此解决方案要求矩阵 1 和矩阵 2 的高度相同。但这里有一个模板可以帮助您入门。

for (int i = 0; i < matrix1.length; i++) {
  for (int j = 0; j < matrix1[i].length; j++) {

  }

  if (i == matrix1/2) {

  } else {  //One part of if handles when "+" is needed, other one doesn't

  }

  for (int j = 0; j < matrix2[i].length; j++) {

  }

  if (i == matrix1/2) {

  }

  for (int j = 0; j < ???; j++) {

  }
}
于 2013-01-25T15:58:17.807 回答