【程序29】
题目:求一个3*3矩阵对角线元素之和
题目:求一个3*3矩阵对角线元素之和
1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
import java.util.Random;
public class Test29 {
public static void main(String[] args) {
int[][] arr = createArr(3);
System.out.println("原矩阵:");
print(arr);
System.out.println("矩阵对角线之和:" + diagonalSum(arr));
}
private static int diagonalSum(int[][] createArr) {
int sum = 0 ;
for (int k = 0; k < createArr.length; k++) {
for (int h = 0; h < createArr.length; h++) {
if(k == h){
sum += createArr[k][h];
}
}
}
return sum;
}
// 随机创建i*i二维矩阵
private static int[][] createArr(int i) {
int[][] arr = new int[i][i];
Random r = new Random();
for (int k = 0; k < i; k++) {
for (int h = 0; h < i; h++) {
arr[k][h] = r.nextInt(100);
}
}
return arr;
}
// 打印数组
public static void print(int[][] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
System.out.println();
}
}
输出结果:(随机)
原矩阵:
52 36 3
52 13 33
41 37 84
矩阵对角线之和:149