您的位置:首页 > 编程语言 > Java开发

五十道编程小题目 --- 29 java

2016-09-07 18:00 357 查看
【程序29】

题目:求一个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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: