求一个三阶方阵的对角线上各元素之和
完成之后的效果!!
package 课后习题;
import java.util.Scanner;
public class zuoye53 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int [][]a=new int [3][3]; //数组的定义以及初始化
int sum1=0,sum2=0; //定义斜对角之和的变量
Scanner reader=new Scanner(System.in);
for(int i=0;i<3;i++) //数组的初始化以及对于对角线的和判断
{
for(int j=0;j<3;j++)
{
a[i][j]=reader.nextInt();
if(i==j)
{
sum1+=a[i][j];
}
if(i+j==2)
{
sum2+=a[i][j];
}
}
}
for(int []row:a)
{
for(int col:row)
System.out.print(col+" ");
System.out.println();
}
System.out.println("正对角线之和:"+sum1+" 斜对角线之和:"+sum2);
}
}
当然在做这样一个题目的时候我们首先必须有清晰的思路,当然这道题本来就不是一个难题。在看到这样一个问题的时候我想到的是对角线上面的数字的共同特征。正对角线上面的数字他们的两个角标是相同的。斜对角线上面的数字下标之和就是矩阵的边长,当然和自己定义的初始值有关,我们一般从a[0][0]
开始所以和就是边长-1.这样的话就不仅仅是针对3阶方阵这一个问题而是这一系列的问题。