packageMagicSquare;importjava.util.Scanner;importjavax.sql.rowset.FilteredRowSet;public classMagicSquare {//奇数幻方的实现://卢培步法求奇数阶幻方的函数,参数依次是储存幻方的数组的名称、幻方的阶数,//标志位flag(为1表示主函数直接调用求奇数阶幻方,为0表示SingleEven_Magic函数进行的调用)
public static void Odd_Magic(int array[][],int k ,intflag){int i=k,j=(k+1)/2,c=1;while (c<=k*k) {
array[i][j]=c;if (c%k==0) {//若c是k的倍数,向上走
i-=1;
}else{//若c不是k的倍数,向右下走
i+=1;
j+=1;if (i>k) {
i=1;
}if (j>k) {
j=1;
}
}
c++;
}if (flag==1) {
outputArray(array);
}
}//双偶数幻方://即:阶数能够被4整除的幻方构造函数,参数依次是储存幻方的数组的名称、幻方的阶数
public static void DoubleEven_Magic(int array[][],intk) {int i=1,j,c1=1,c2=k*k;while (i
j=1;wh