Java练习小题_求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。

要求说明:

题目:求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中

程序分析:利用双重for循环控制输入二维数组,再将 a[i][i] 累加后输出。

实现思路:

【二维数组】相关知识:

定义格式

    * a 第一种定义格式:

    * int[][] arr = new int[3][4];//  arr里面包含3个数组   每个数组里面有四个元素

    * 上面的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组

    * b 第二种定义格式

    * int[][] arr = new int[3][];

    * 第二种方式和第一种类似,只是数组中每个元素的长度不确定

    * c 第三种定义格式

    * int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

    * 二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9}

二维数组的遍历

 

实现代码:

import java.util.Scanner;

public class TwoArray {
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		int sum1 = 0;//第一个对角线和
		int sum2 = 0;//第二个对角线和
		int[][] arr = new int[3][3];
		//双重for循环进行 输入
		for (int i = 0; i < arr.length; i++) {
			System.out.println("请输入第"+(i+1)+"的数据。(每次输入完一个数字回车确认一下)");
			for (int j = 0; j < arr.length; j++) {
				arr[i][j]= sc.nextInt();
			}
		}
		//双重for循环进行 输出
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr.length; j++) {
				if (i==j) sum1 += arr[i][j];
				if (i==arr.length-i-1) sum2 += arr[i][j];
			}
		}
		System.out.println("矩阵对角线之和分别是:"+sum1+"和"+sum2);
	}
}
发布了80 篇原创文章 · 获赞 115 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44893902/article/details/105100308