求一个n阶方阵对角线元素之和。
import java.util.Scanner;
public class Fangzhen {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n;
@SuppressWarnings("resource")
Scanner reader=new Scanner(System.in); //输入数据
n=reader.nextInt();
int Fangzhen[][]=new int[n][n]; //声明二维数组
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
Fangzhen[i][j]=reader.nextInt(); //将数据读入二维数组
}
}
int sum=0;
for(int i=0;i<n;i++){
sum+=Fangzhen[i][i]+Fangzhen[i][n-i-1]; //对角线元素相加,存入sum中
}
if(n%2!=0){
sum=sum-Fangzhen[n/2][n/2]; //若为奇数阶的数组,则需要减去对角线中间的重复值
}
System.out.println(sum); //输出对角线之和
}
}
若为偶数阶矩阵,比如下图矩阵:
若为奇数阶矩阵,比如下图矩阵:
通过本次练习,我巩固了二维数组的知识,收获很大!