日撸 Java 三百行: DAY7 矩阵元素相加

0.主题

今天的代码主要实现了两个方法,第一个是将矩阵内的元素累加并返回最终的和,第二个是将两个矩阵相加并返回新的矩阵。此外,还用到了import,new,二重for循环等知识点。

package basic;

import java.util.Arrays;

public class MatrixAddition {
	
	/**
	 ******************
	 * The entrance of the program.
	 * 
	 * @param args Not used now.
	 ******************
	 */
	public static void main( String args[ ] ) {
		matrixElementSumTest( );
		
		matrixAdditionTest( );
	} // Of main
	
	/**
	 ******************
	 * Sum the elements of a matrix.
	 * 
	 * @param paraMatrix The given matrix.
	 * @return The sum of all its elements.
	 */
	public static int matrixElementSum( int[ ][ ] paraMatrix ) {
		int resultSum = 0;
		for( int i = 0; i < paraMatrix.length; i++ ) {
			for( int j = 0; j < paraMatrix[ 0 ].length; j++ ) {
				resultSum += paraMatrix[ i ][ j ];
			} // Of for j
		} // Of for i
		
		return resultSum;
	} // Of matrixElementSum
	
	/**
	 ******************
	 * Unit test for respective method.
	 ******************
	 */
	public static void matrixElementSumTest( ) {
		int[ ][ ] tempMatrix = new int[ 3 ][ 4 ];
		for( int i = 0; i < tempMatrix.length; i++ ) {
			for( int j = 0; j < tempMatrix[ 0 ].length; j++ ) {
				tempMatrix[ i ][ j ] = i * 10 + j;
			} // Of for j
		} // Of for i
		
		System.out.println("The matrix is: \r\n" + Arrays.deepToString(tempMatrix) );
		System.out.println("The matrix element sum is: " + matrixElementSum( tempMatrix ) + "\r\n");
	} // Of matrixElementSumTest
	
	/**
	 ******************
	 * Add two matrices. Attention: No error check is provided at this moment.
	 * 
	 * @param paraMatrix1 The first matrix.
	 * @param paraMatrix2 The second matrix. It should have the same size as
	 * 				 	  the first one's.
	 * @return The addition of these matrices.
	 ******************
	 */
	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 ];
			} // Of for j
		} // Of for i
		
		return resultMatrix;
	} // Of matrixAddition
	
	/**
	 ******************
	 * Unit test for respective method.
	 ******************
	 */
	public static void matrixAdditionTest( ) {
		int[ ][ ] tempMatrix = new int[ 3 ][ 4 ];
		for( int i = 0; i < tempMatrix.length; i++ ) {
			for( int j = 0; j < tempMatrix[ 0 ].length; j++ ) {
				tempMatrix[ i ][ j ] = i * 10 + j;
			} // Of for j
		} // Of for i
		
		System.out.println("The matrix is: \r\n" + Arrays.deepToString(tempMatrix) );
		int[ ][ ] tempNewMatrix = matrixAddition( tempMatrix, tempMatrix );
		System.out.println("The new matrix is: \r\n" + Arrays.deepToString(tempNewMatrix) );
	} // Of matrixAdditionTest
	
} // Of class MatrixAddition

程序执行结果如下

1.关键字

  • import

java可以使用包来将类组织起来,一个类可以使用它所属包中的所有类和其他包中的公有类。当要使用其他包的公有类时,第一种做法是在每个类名之前添加完整的报名,这样做的好处是读代码的人能更准确的知道加载了哪些类,坏处是显得有些繁琐。第二种做法是使用import语句,可以用它导入一个特定的类或整个包,这样在使用其他包的公有类时就不必再加上包前缀了。

  • new

java中的new用于实例化对象,并为其分配内存。

2.二重for循环

今天的程序核心是由二重for循环构成的。通过二重for循环访问矩阵的每个位置来为其赋初值,也通过二重for循环遍历每个矩阵元素并将其累加,还通过二重for循环同时遍历两个矩阵的同一位置,并将其和放入答案矩阵的同一位置来实现矩阵加法。

3.deepToString

在java.util.Arrays类中有toString方法和deepToString方法,前者用于将一维数组转为相应的字符串,后者用于将多维数组转为字符串。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值