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

/* 
* 程序头部注释开始   
* 程序的版权和版本声明部分   
* 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 stub
		int[][] 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();
	     }
		
	}

}


运行结果:

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值