public class Triangle { public static void main(String[] args) {
for(int i=0;i<6;i++){
for(int j=0;j<i;j++){
System.out.print(" ");
}
for(int k=0;k<6-i;k++){
System.out.print("*");
}
System.out.println();
} }}
输出
倒三角;
提问:
两个内循环是怎么运行的?是第一个内循环先执行j=0然后执行下一个内循环k=0然后在执行j=1再执行k=1.。。这样的吗?要不是,那怎么会输出倒三角的"*"呢?
i=0 j不打印 k打印 6个*
i=1 j打印一个空格 k打印 5个*
.....................
以此类推
上面是执行一次i的循环,依次循环下去直到i的条件int i=0;i<6;i++完毕。
最后依次得到结果:
******
*****
****
***
**
*
j循环是打印空格,在i行中,空格的个数 j 跟行数 i 相等,即j=i,其余用k个*填充,所以k=6-i。
所以每行
在内层中的两个for循环分别是用来控制打印空格的个数和"*"号得个数的
执行顺序是先执行j的循环,在执行k的循环,不是同步进行的
他是说打印出这样的结果必然是先执行J 然后再执行K
不然就不会有空格和*在一行出现了
right?