问答详情
源自:4-14 Java 循环语句之多重循环

为什么内层循环的j<=i啊?

public class HelloWorld {

    public static void main(String[] args) {

        

System.out.println("打印直角三角形");

        

// 外层循环控制行数

for (int i = 1;i<=3;i++              ) {

            

// 内层循环控制每行的*号数

// 内层循环变量的最大值和外层循环变量的值相等

for (int j = 1;j<=i;j++              ) {

                

System.out.print("*");

}

            

// 每打印完一行后进行换行

System.out.println();

}

}

}


提问者:慕工程9491745 2020-02-21 02:57

个回答

  • qq_慕尼黑3159572
    2021-01-20 15:30:18

    因为行的值和列的值都是一样的,就比如第一行就只有第一个*,第二行两个*以此退下出第n行就有第n个*。所以j<=i。

  • 宇娃
    2020-04-13 10:50:04

    package for_4_14;
    
    //实现功能:使用 * 打印直角三角形
    //
    //实现思路:
    //上面的图形中,第 1 行有一个 * 号,第 2 行有两个 * 号,第 3 行有三个 * 号,所以可以使用二重循环来实现。
    //其中,外层循环控制行数,内层循环控制每行的 * 号数。
    //同时,我们发现一个规律,当打印每行信息时,内层循环变量的最大值和外层循环变量的值相等。
    
    public class HelloWorld {
        public static void main(String[] args) {
    
            System.out.println("打印直角三角形");
    
            // 外层循环控制行数
            for (int i = 1; i <=3;i++ ) {
    
                // 内层循环控制每行的*号数
                // 内层循环变量的最大值和外层循环变量的值相等
                for (int j = 1; j<=i; j++ ) {
    
                    System.out.print("*");
                }
    
                // 每打印完一行后进行换行
                System.out.println();
            }
        }
    }


  • weixin_慕妹0016836
    2020-02-21 11:21:37

    应该是因为i最先循环,数值始终比j大一,正好符合打印结果的条件。