将 2 个矩阵 4x1 和 1x4 相乘

程序应该将 2 个矩阵 4x1 和 1x4 相乘,并将结果输出到控制台(矩阵 4X4)。但没有任何显示。有什么问题?


public class Matrix {

    public static void main(String[] args) {

        int[][] matrixA = new int[4][1];

        int[][] matrixB = new int[1][4];

        int[][] matrixC = new int[4][4];


        matrixA[0][0] = 1;

        matrixA[1][0] = 2;

        matrixA[2][0] = 3;

        matrixA[3][0] = 4;


        matrixB[0][0] = 4;

        matrixB[0][1] = 3;

        matrixB[0][2] = 2;

        matrixB[0][3] = 1;


        for (int i = 0; i < 4; i++) { // A rows

            for (int j = 0; j < 4; j++) { // B columns

                for (int k = 0; k < 1; k++) { // A columns

                    matrixC[i][j] += matrixA[i][k] * matrixB[k][j];

                    System.out.print(matrixC[i][j] + "   ");

                }

            }

        }

        int j = 0;

        for (int i = 0; i < 4; i++) {

            for (int k = 0; k < 1; k++)

                System.out.print(matrixC[i][j] + "   ");

            System.out.println();

        }

    } //end main

} //end class


绝地无双
浏览 570回答 2
2回答

HUH函数

您j在第二组for循环之前引入了一个变量。此外,即使它们是可选的,我也强烈建议始终包含大括号。并且k < 4。喜欢,for (int i = 0; i < 4; i++) {&nbsp; &nbsp; for (int k = 0; k < 4; k++) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.print(matrixC[i][k] + "&nbsp; &nbsp;"); // not [i][j]&nbsp; &nbsp; }&nbsp; &nbsp; System.out.println();}或者只是使用Arrays.deepToString(Object[])像System.out.println(Arrays.deepToString(matrixC));

暮色呼如

希望这可以帮助:public class Matrix {&nbsp; &nbsp; public static void main(String[] args) {&nbsp; &nbsp; &nbsp; &nbsp; int[][] matrixA = {{1}, {2}, {3}, {4}};&nbsp; &nbsp; &nbsp; &nbsp; int[][] matrixB = {{4, 3, 2, 1}};&nbsp; &nbsp; &nbsp; &nbsp; int[][] matrixC = new int[4][4];&nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i < 4; i++) { // A rows&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (int j = 0; j < 4; j++) { // B columns&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (int k = 0; k < 1; k++) { // A columns&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; matrixC[i][j] += matrixA[i][k] * matrixB[k][j];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.print(matrixC[i][j] + "&nbsp; &nbsp;");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}输出:4&nbsp; &nbsp;3&nbsp; &nbsp;2&nbsp; &nbsp;1&nbsp; &nbsp;8&nbsp; &nbsp;6&nbsp; &nbsp;4&nbsp; &nbsp;2&nbsp; &nbsp;12&nbsp; &nbsp;9&nbsp; &nbsp;6&nbsp; &nbsp;3&nbsp; &nbsp;16&nbsp; &nbsp;12&nbsp; &nbsp;8&nbsp; &nbsp;4&nbsp; &nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java