选项分析:
math.abs为绝对值
A: int i=0;i<5,i++,可以看出,符合条件,进入第一层循环,然后进入第二层循环,得出k=0;k<=2;k++;循环两次,打印出两个空格,但由图形看出第一行是打印出五个*,没有空格,所以A错误
B:int i=4;i>=0;i--,条件成立,进入第一层循环,得出k=0;k<=-2;k++,条件不成立,所以B错误
C: int i=-2;i>=2;i++.条件不成立,-2不大于2,所以C错误
D:int i=2;i>=-2;i=i-1,条件成立,进入第一层循环,得 k=0;k<=0;k++,条件符合,打印0个空格,跟图片符合.然后,进入到二层循环的第二个循环,得 int j=0;j<5;j++,条件成立,循环5次,打印出5个"*"
所以D符合条件.D正确
public class hello { public static void main(String[] args) { for (int i = 2; i >=-2; i--) {//打印行数 for (int j = 0; j <= 2-Math.abs(i); j++) {//打印该行的前边 System.out.print(" "); } for (int j = 0; j < Math.abs(i)*2+1; j++) {//打印改行的后边 System.out.print("*"); } System.out.println(); } } }
*****
***
*
***
*****