打印沙漏图形

选项分析:

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();
}
}
}

*****
  ***
    *
  ***
*****

作者:Monodrama
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/jingpeipei/p/5250548.html