当n为任意数时,输出如图所示规律
public class TestAray {
public static void main(String[] args) {
new TestAray().Print(5);
}
public void Print(int n)
{
int[][] a=new int[n][n];
int temp=1;
//把前n*(n+1)/2个数输入数组a中
for(int i=0;i<n;i++)
{
int row;
int col;
//观察数组中序号的规律
for( row=i,col=0;row>=0&&col<=i;row--,col++)
{
a[row][col]=temp;
temp++;
}
}
//把后面的数输入数组a中
temp=n*n;
//观察数组中序号的规律
for(int i=n-1;i>0;i--)
{
int row;
int col;
for( row=4,col=i;row>=0&&col<=n-1;row--,col++)
{
a[col][row]=temp;
temp--;
}
}
//输出数组a
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
}
}