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

我没搞懂为什么每一行输出的*号和行数是一样的呢?

内层循环for(int j=1;j<=i;j++){

System.out.print("*");

执行过程难道不是:一开始i=1,j=1,j<=i成立,输出第一行第一个*,然后j++,j变成2;

然后,i++,i变成2,这个时候j<=i成立,换行输出第二行第一个*,然后j++,j变成3;

接着,i++,i变成3,j<=i成立,换行输出第三行第一个*。

可是为什么程序输出的结果会是,第一行一个*,第二行两个*,第三行三个*星呢?我不知道我是哪里理解错了。

提问者:慕斯卡1072078 2017-03-17 12:21

个回答

  • 许浚逸
    2017-03-17 13:00:27
    已采纳

    内层循环j还是从1开始的

  • 卡吧大魔王
    2017-03-17 22:48:23

    package day05;//九九乘法表


    public class Chenfabiao {


    public static void main(String[] args) {

    for(int m=1;m<=9;m++){

    for(int n=1;n<=m;n++){

    System.out.print(n+"*"+m+"="+m*n+"\t");

    }System.out.println();

    }


    }


    }


  • 慕娘6645838
    2017-03-17 13:00:02

    每次执行完一轮内层循环J就会变成1,你想要的效果应该把int j=1放在外层循环外面