日期:2014-05-20 浏览次数:21022 次
public class Test1{
public static void main(String[] args){
printRect(3);
}
static void printRect(int n){
int size = n * 2 + 1;
int[][] arrays = new int[size][size];
//获取上半部分
for(int i = 0;i < size;i++){
for(int j = 0;j <= size / 2;j++){
if(i <= size / 2){
if(i + j > n){
//横纵下标之和大于n元素的值为“下标之和 - 数组长度的一半 + 1“
arrays[i][j] = arrays[i][size - j - 1] = i + j - size / 2 + 1;//左右对称
}
else
arrays[i][j] = arrays[i][size - j - 1] = 1;
}
}
}
//翻转获取下半部分,上下对称
for(int i = size / 2;i < size;i++){
for(int j = 0;j < size;j++){
arrays[i][j] = arrays[size - i - 1][j];
}
}
//输出
for(int i = 0;i < size;i++){
for(int j = 0;j < size;j++){
System.out.print(arrays[i][j] + " ");
}
System.out.println();
}
}
}