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

正在回答

7 回答

j=0开始,才能保证横行和竖行相等


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

把第二个for循环里面的j<i,改成j<=i就行了。
如果是j<i,则当i=1放入训练的时候,j<i并不满足,因为你的j初始值就是1,所以只执行了System.out.println这个换行符。没发现你第一行空了吗。

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

j = 0

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

是三行没有错,不过你的第二个for哪里出错了  j<i 应改成j<=i  就可以完美解决

 

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

首先,你这个代码的确是有3行的,当你把println()改为println("1")时,运行的结果就是这样:

1

*1

**1

接下来跟你解释一下吧,for(int i= 1,i <4;i++),当i等于1满足小于四的条件时并不会马上自增,而是等循环完一次时再进行自增,所以内循环里第一次的i还是为1,这时不满足j=1 <1的条件,所以第一次第一行是不会打印出“*” 来的,以此类推,所以其实是有三行,但是你只看见了两行,你只需要把j<i改为j<=i就可以了


4 回复 有任何疑惑可以回复我~
int j = 1; j < i + 1; j++


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

里面的循环应该是 j<=i    i=3的时候只会循环 1,2

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

举报

0/150
提交
取消

为什么只会打印出两行

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