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

来源:4-14 Java 循环语句之多重循环

慕斯卡1072078

2017-03-17 12:21

内层循环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成立,换行输出第三行第一个*。

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

写回答 关注

3回答

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

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

    慕斯卡107...

    非常感谢!

    2017-03-18 10:58:28

    共 2 条回复 >

  • 卡吧大魔王
    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放在外层循环外面


    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165550 学习 · 17586 问题

查看课程

相似问题