这里面的思想有一个是:①行和列的索引一样时,该数为对角线上的一个值; ②对角线上索引值相加值为一个数(33矩阵为2);
③循环遍历出来的话,用求和的思想就可以计算出来了)
[Java] 纯文本查看 复制代码 import java.util.Scanner;
class Swap {
public static void main(String[] args){
//通过手动改制的方法输入一个二维数组
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}}; //定义一个33矩阵用二维数组实现
int sum = getSum(arr); //获取对角线值的和
System.out.println(sum); //打印该和
}
static int getSum(int[][] arr) { //获取33矩阵对角线之和
int sum = 0;
for (int i=0;i<arr.length ;i++ ) { //循环行
for (int j = 0;j<arr[i].length ;j++ ) { //循环列
if(i==j || i+j==2 ){ //行索引与列索引一样时或相加为2时
sum += arr[i][j];
}
}
}
return sum;
}
}
希望可以帮到你,但是这里有很多可以改进的,加油
|