先进行随机数的应用,生成一个二维数组,然后再分别求出对角线的和与各行各列的和。最后再进行比较判断即可。
代码如下
public class si_er {
public static void main(String[] args) {
int a[][]=new int[3][3];
int sum=0;
int b[]=new int[3];
int c[]=new int[3];
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
a[i][j]=(int)(Math.random()*10);//构造一个随机产生1~9的3X3数组
System.out.print(a[i][j]+" ");
if(i==j) {
sum=sum+a[i][j];
}//对角线之和
b[i]=a[i][j]+b[i];//各行之和
}
System.out.println();
System.out.println(b[i]);
}
System.out.println();
for(int j=0;j<a[0].length;j++) {
for(int i=0;i<a.length;i++) {
c[j]+=a[i][j];
}
System.out.print(c[j]+" ");
}//求各列之和
System.out.println();
for(int x=0;x<3;x++) {
if(sum==b[x]&&sum==c[x]) {//判断是否符合条件
System.out.println("对角线之和与第"+(x+1)+"列,行总和相等");
break;
}
}
System.out.println("对角线之和与各列,行总和不相等");
// TODO Auto-generated method stub
}
}