例题:用“ * ”打印出等腰三角形

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

你可能感兴趣的:(Java,小白入门,javase)