public class Magic { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 3;
int mat[][] = new int[n][n];
int i = 0,j=n/2;
for(int k=1;k<=n*n;k++)
{
mat[i][j]=k;
if(k%n==0)
{
i=(i+1)%n;
}
else
{
i=(i-1+n)%n;
j=(j+1)%n;
}
}
for(i=0;i<mat.length;i++)
{
for(j=0;j<mat[i].length;j++)
System.out.print(mat[i][j]+"\t");
System.out.println();
}
}
}
我是初学者,提的问题都是基础,忘大家不要不屑一顾。
麻烦哪位给点解释,我不到那个算法,赋值初始化怎么完成的,当K=4我就不知道,i,j分别等于多少了?
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 3;
int mat[][] = new int[n][n];
int i = 0,j=n/2;
for(int k=1;k<=n*n;k++)
{
mat[i][j]=k;
if(k%n==0)
{
i=(i+1)%n;
}
else
{
i=(i-1+n)%n;
j=(j+1)%n;
}
}
for(i=0;i<mat.length;i++)
{
for(j=0;j<mat[i].length;j++)
System.out.print(mat[i][j]+"\t");
System.out.println();
}
}
}
我是初学者,提的问题都是基础,忘大家不要不屑一顾。
麻烦哪位给点解释,我不到那个算法,赋值初始化怎么完成的,当K=4我就不知道,i,j分别等于多少了?
执行
i=(i-1+n)%n;
j=(j+1)%n; 之后i = 1 ,j = 1 ;
int n;
n=0;
就相当于int n=0;
k=4时各个变量的值楼上已经给了,我就不解释了~正解!