为了账号安全,请及时绑定邮箱和手机立即绑定

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

内层循环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 回答

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

0 回复 有任何疑惑可以回复我~
#1

慕斯卡1072078 提问者

是不是内层循环不成立了之后,外层循坏还是在接着走,但是内层循环的变量又被初始化了,是吧
2017-03-17 回复 有任何疑惑可以回复我~
#2

慕斯卡1072078 提问者

非常感谢!
2017-03-18 回复 有任何疑惑可以回复我~

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();

}


}


}


2 回复 有任何疑惑可以回复我~

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


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信