双重for循环
这是一个经典的例题,运用了双重for循环的知识
分析一波,要想打印出等腰三角型
第一行是1个* 即 *
第二行是3个* ***
第三行是5个* *****
…… *******
首先咱们第一层for循环还是控制行数,
有两个第二层 第一个来控制输出*,可以看到规律,第一行一个,第二行3个(2*2-1),第三个5个(2*3-1),所以可得出,每一行输出的*的个数,是(2*行数-1)。
大家知道编译打印原则是从左向右,所只需考虑第一个*左边的空格数就ok了,
第一行左边3个空格所以需要循环三次
第二行左边2个 第三行左边1个 第四行左边不需要,空格越来越少,当然使用自减啦!!!
下附代码:
/**
* *
* ***
* *****
* *******
*/
public class Demo8 {
public static void main(String[] args) {
for (int i = 1; i < 5; i++) {
for (int k = 5 - i; k >= 0; k--) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}