矩阵乘积

来源:互联网 发布:linux tar只读权限 编辑:程序博客网 时间:2024/06/02 01:16

输入一个 m*n的矩阵 和一个n*p的矩阵,要求打印出两个矩阵的乘积。

代码如下:
    public class Test {      public static void main(String[] args) {      System.out.println("请输入m行n列以及n行p列的矩阵:");      Scanner sc=new Scanner(System.in);      int m=sc.nextInt();//输入m      int n=sc.nextInt();//输入n      int p=sc.nextInt();//输入P      int array[][]=new int[m][n];//矩阵为m行p列 array      int array1[][]=new int[n][p];//矩阵为n行p列 array1         for(int i=0;i<m;i++){           for(int j=0;j<n;j++){             array[i][j]=sc.nextInt();//向矩阵array输入对应的元素                System.out.print(array[i][j]+" ");//此处可注释          }System.out.println();         }         for(int i=0;i<n;i++){           for(int j=0;j<p;j++){             array1[i][j]=sc.nextInt();//向矩阵array1输入对应的元素             System.out.println(array1[i][j]+" ");//此处可注释           }System.out.println();          }          int [][]c =new int[m][p];//创建一个新的矩阵c用于存放之后的乘积          for(int i=0;i<m;i++){//矩阵c有i行             for(int j=0;j<p;j++){//矩阵c有j列                 for(int k=0;k<n;k++){//矩阵a的列                   c[i][j]+=array[i][k]*array1[k][j];//向矩阵c中传递元素                 }             }          }           mul(c);//调用mul方法        }        public static void mul(int[][]c) {//遍历输出          int m=c.length;          int p=c[0].length;          for(int i=0;i<m;i++){             for(int j=0;j<p;j++){                System.out.print(c[i][j]+" ");             }               System.out.println();          }        }        }
0 0
原创粉丝点击