分析:
- 看变化:变化的是上下左右边界
- 简化:首先打出第一行,注意没打出一点就检验一遍,这样有减少错误复杂度
- 具体实现:套上外层循环
public class Main {
public static int a[][] = {
{1,2,3,4},
{5,6,7,8},
{9,20,11,12},
{13,14,15,16}
};
public static void main(String[] args) {
PrintMatix();
}
private static void PrintMatix() {
int l = 0, r = 0, ln = 3, rn = 3;
while(l < ln && r < rn) {
//打印行
for(int j = l; j <= rn; j ++) {
System.out.print(a[l][j] + " ");
}
//打印列
for(int i = l + 1; i <= ln ; i ++) {
System.out.print (a[i][rn] + " ");
}
//打印行
for(int j = rn -1; j >= l; j --) {
System.out.print (a[ln][j] + " ");
}
//打印列
for(int i = ln - 1; i >= r; i --) {
System.out.print (a[i][r] + " ");
}
l ++;
r ++;
ln --;
rn --;
}
}
}