练习-Java数组之二维数值数组之矩阵乘

任务描述

本关任务:给定两个矩阵,求它们的乘积。 矩阵乘示例如下:

图1


图1 矩阵乘

从图 1 可以看到,相乘后的矩阵的行数等于第一个矩阵的行数,列数等于第二个矩阵的列数。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,给定以下两个矩阵,求它们的乘积。 矩阵一:

⎣⎢⎢⎢⎢⎢⎡​51532114​665438898​74322666​⎦⎥⎥⎥⎥⎥⎤​

矩阵二:

⎣⎢⎡​944838​65229​31066​877188​2198100​⎦⎥⎤​

测试说明

平台将运行你编写的程序代码,若你的运行结果与预期输出一致,则通关。

预期输出:

 
  1. 1024 540 617 1477 1393
  2. 6164 2352 3303 9704 10985
  3. 5908 2804 2444 7773 7086
  4. 5486 1065 737 7733 9455
  5. 7588 2370 4480 13114 16288
    // 请在Begin-End间编写完整代码,类名请使用Transpose
            /********** Begin **********/
    public class Transpose{
    	public static void main(String[] args){
    		int[][] arr1={{5,6,7},
    			{15,65,43},
                            {32,43,22},
    			{11,88,6},
                            {4,98,66}};
    		int[][] arr2={{94,65,31,87,21},
    			{48,2,0,71,98}, 
    			{38,29,66,88,100},};
             int[][] arr3 = new int[arr1.length][arr2[0].length];
            for (int i = 0; i < arr1.length; i++) {
                for (int j = 0; j < arr2[0].length; j++) {
                    for (int k = 0; k < arr2.length; k++) {
                        arr3[i][j] += arr1[i][k] * arr2[k][j];
                    }
                }
            }
            print(arr3);
        }
        private static void print(int[][] arr) {
            for (int i = 0; i < arr.length; i++) {
                for (int j = 0; j < arr[0].length; j++) {
                    System.out.print(arr[i][j] + " ");
                }
                System.out.println();
            }
        }
    }
            /********** End **********/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值