//创建Array类体classArray{//代求解数组
int resArray[]={1,2,3,4,5,6,7,8,9};//3x3打印格式,可扩展的fmtPrint方法voidfmtPrint(){
int i;for(i=0; i<resArray.length; i++){
System.out.print(resArray[i]+" ");if((i+1)%3==0){
System.out.println();}}
System.out.println("-----");}//整行或整列、对角相加方法add
int add(int i, int j, int k){return resArray[i]+resArray[j]+resArray[k];}//检查矩阵符合条件的方法check
boolean check(){if(add(0,1,2)==15&&add(3,4,5)==15&&add(6,7,8)==15&&add(0,3,6)==15&&add(1,4,7)==15&&add(2,5,8)==15&&add(0,4,8)==15&&add(2,4,6)==15)returntrue;elsereturnfalse;}//用于数组中元素交换swapvoidswap(int i, int j){
int t;
t=resArray[i];
resArray[i]=resArray[j];
resArray[j]=t;}//核心方法,用于遍历3x3数组的所有情况,并找出符合条件的数据进行打印voidallListArry(int k){
int i;for(i=k;i<resArray.length; i++){swap(k, i);allListArry(k+1);swap(k, i);if(check()){fmtPrint();}}}}//end class body//主类SquaretestpublicclassSquaretest{publicstaticvoidmain(String args[]){
Array t=newArray();
t.allListArry(0);}}``