分类: Java
2012-11-06 23:30:18
题解1:相对通俗易懂
public class TEXT {
public static void main(String[] args) {
int i,j,k;
//i 的值,-3,-2,-1,0,1,2,3
for(i=-3,j=1;i<=3;j++){
//对i取绝对值,并传至给k
if(i<0) k=i*(-1);
else k=i;
//如果满足条件,输出*,且跳出本次循环。
if(j<=k||(j>7-k&&j!=8)){
System.out.print("*");
continue;
}
//如果满足条件输出a
if(j>k&&j<=7-k){
System.out.print("a");
}
//如果j=8则i自加1,并将0重新赋值为0!
//(只有j在[1,7]范围内才输出)
if(j==8){
i++;
j=0;
System.out.println();
}
}
}
}
版权:南通大学 冯瑞
题解2:
publicclass Test {
publicstaticvoid main(String[] args) {
finalint line =7, semi = line /2;
for(int i =0, k = line * line; i < k; i++) {
int row = i / line;
int col = i % line;
if(col ==0&& i >0) {
System.out.println();
}
System.out.print(Math.abs(semi - col) > semi - Math.abs(semi - row) ?'*' : 'a');
}
}
}