java第四周 任务四 用二维数组表示矩阵,实现矩阵乘法

来源:互联网 发布:淘宝质量好的女包店 编辑:程序博客网 时间:2024/05/25 18:10
/* * 程序头部注释开始   * 程序的版权和版本声明部分   * Copyright (c) 2011, 烟台大学计算机学院学生   * All rights reserved.   * 文件名称:用二维数组表示矩阵,实现矩阵乘法                       * 作    者:薛广晨                               * 完成日期:2011  年 09 月  18  日   * 版 本号:x1.0               * 对任务及求解方法的描述部分   * 输入描述:  * 问题描述:  用二维数组表示矩阵,实现矩阵乘法。*         如C=A*B,要考虑矩阵相乘的规则,即A矩阵和B矩阵是任意的,*         C矩阵的产生是自动的(C的行数和列数要自动判断生成?怎样得到C矩阵的的行数和列数?)* 程序输出:   * 程序头部的注释结束 */package xgc.com;public class TestMatrixPlus {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint[][] a={{1,4,5,6},{7,2,10,11},{8,9,12,3}};//自己定义矩阵int[][] b={{1,4,5,6},{7,2,10,11},{8,9,12,3}};//自己定义矩阵printMatrix(a,b);}static void printMatrix(int[][] a,int[][] b){//1.要判断矩阵能否相乘,能相乘继续,不能相乘给出提示为什么不能相乘//2.得到C矩阵的行数和列数,以产生C矩阵int c[][] = new int[a.length][];if(a.length == b.length ){for(int i = 0; i < a.length; i++){                                c[i]= new int[a[i].length];if(a[i].length != b[i].length){System.out.println("两矩阵列数不同,不能相乘");return;}     }for(int i = 0; i < a.length; i++){for(int j = 0; j < a[i].length; j++){c[i][j] = a[i][j] * b[i][j];}     }}else{System.out.println("两矩阵行数不同,不能相乘");return;}//3.输出结果矩阵C的值for(int i = 0; i < c.length; i++){for(int j = 0; j < c[i].length; j++){System.out.print(c[i][j] + "    ");}System.out.println();     }}}


运行结果: