JAVA-第周围实验-任务4-求矩阵元素相乘(编程思想)
JAVA--第四周实验--任务4--求矩阵元素相乘(编程思想)
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:求矩阵元素相乘 * 算法提示:(1)用二维数组表示矩阵,实现矩阵乘法。 * 算法提示:(2)如C=A*B,要考虑矩阵相乘的规则,即A矩阵和B矩阵是任意的, * 算法提示:(3)C矩阵的产生是自动的(C的行数和列数要自动判断生成?怎样得到C矩阵的的行数和列数?) * 作 者: 雷恒鑫 * 完成日期: 2012 年 09 月 20 日 * 版 本 号: V1.0 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束 */ public class Task_two { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[][] a={{11,4,5,6},{7,2,10,11},{8,9,12,3}};//自己定义矩阵 int[][] b={{3,6,8,7},{5,6,7,8},{4,2,3,4}};//自己定义矩阵 printMatrix(a,b); } static void printMatrix(int[][] a,int[][] b){ //1.要判断矩阵能否相乘,能相乘继续,不能相乘给出提示为什么不能相乘 if((a.length==b.length)) { for(int i = 0;i<a.length;++i) { if(a[i].length!=b[i].length) { System.out.println("因为a数组第"+i+"行与b数组第i行元素个数不同,所以不能相乘!"); return; } } }else{ System.out.println("因为a数组与b数组列数不同,所以不能相乘!"); return; } //2.得到C矩阵的行数和列数,以产生C矩阵 int[][] c = new int[a.length][]; //3.输出结果矩阵C的值 System.out.println("按二维方式输出C矩阵:"); for(int i = 0;i <a.length;++i) { for(int j = 0;j <a[i].length;++j) { c[i]= new int[a[i].length]; c[i][j] = a[i][j]*b[i][j]; System.out.print(c[i][j]+" "); } System.out.println(); } System.out.println(); } }
运行结果: