要求说明:
题目:求一个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); } }