第七天:矩阵元素相加

两个矩阵相加要求:
两个矩阵必须是同型矩阵,假设A矩阵加B矩阵,则:

在一维数组中,a.length 方法的意思就是返回这个数组的长度。

在二位数组中,如果直接调用b.length方法,返回的则是b数组的行数,

如果是b[0].length方法则返回的是0行所代表的长度,也就相当于求了第0行的列数。


二维数组(矩阵)的赋值:

1、静态初始化

int[][] data = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6,7}};

2、动态初始化1

int[][] id=new int[3][4];

获得一个3行4列的矩阵,这是未进行赋值的

3、动态初始化2

String[][] id=new String[4][];

只声明它的行数,先不声明列数,这样也是可以的。


数组的下标都是从0开始的,若找第一个数则其为id[0][0];

若是System.out.println(id[0][]),则输出第一行所有的值

1、代码遍历输出矩阵:

public class sevenday {

	public static void main(String args[]) {
		
		
		 int[][] data = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6,7}};//静态赋值
		 for(int i=0;i<data.length;i++) {
			 for(int j=0;j<data[i].length;j++) {
	       System.out.print(data[i][j]+" ");//输出第i行第j个
			 }
			 System.out.println();//每行遍历完了就换行
		 }
	}
}

结果如下:

 2、实现矩阵中元素之和:

public class sevenday {

	public static void main(String args[]) {
		
		int[][] data = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6,7}};
		
		System.out.println("矩阵元素之和为:"+matrixElementSum(data));
	}
	
	public static int matrixElementSum(int[][] paraMatrix) {
		int Sum = 0;
		for (int i = 0; i < paraMatrix.length; i++) {
			for (int j = 0; j < paraMatrix[i].length; j++) {
				System.out.print(paraMatrix[i][j]+" ");
				Sum += paraMatrix[i][j];//实现累加矩阵元素
			} 
			System.out.println();
		} 
		return Sum;
	}
				
	
}

结果为:

 3、实现两个矩阵相加:

C = A+B

public class sevenday {

	public static void main(String args[]) {
		
		int[][] A = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6}};
		int[][] B = new int[][] { { 1, 2 }, { 3, 4 }, { 5, 6}};
		int[][] C =new int [][] {};
		
		C = matrixAddition(A,B);//调用矩阵加法函数
		
		
		System.out.println("[矩阵A的各个元素]");
        for(int i = 0; i <A.length ; i++)
        {
            for(int j = 0; j < A[0].length; j++)
                System.out.print(A[i][j] + " \t");
            System.out.println();
        }

		
        System.out.println("[矩阵B的各个元素]");
        for(int i = 0; i <B.length; i++)
       {
           for(int j = 0; j < B[0].length; j++)
               System.out.print(B[i][j] + " \t");
           System.out.println();
       }

		
        System.out.println("[显示矩阵A和矩阵B相加的结果]");
		for (int i = 0; i < A.length; i++) {
			for (int j = 0; j < A[0].length; j++) {
				System.out.print(C[i][j]+" ");
				
			}
			System.out.println();
			}
		
	}
	
	public static int[][] matrixAddition(int[][] paraMatrix1, int[][] paraMatrix2) {
		
		int[][] resultMatrix = new int[paraMatrix1.length][paraMatrix1[0].length];
		
		for (int i = 0; i < paraMatrix1.length; i++) {
			for (int j = 0; j < paraMatrix1[0].length; j++) {
				resultMatrix[i][j] = paraMatrix1[i][j] + paraMatrix2[i][j];
			}
		} 

		return resultMatrix;

		
	}
		
	
		
	
}

结果如下:

 


  

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值