课程
/后端开发
/Java
/Java入门第一季(IDEA工具)升级版
不应该是三行吗?
2020-02-28
源自:Java入门第一季(IDEA工具)升级版 4-14
正在回答
j=0开始,才能保证横行和竖行相等
把第二个for循环里面的j<i,改成j<=i就行了。如果是j<i,则当i=1放入训练的时候,j<i并不满足,因为你的j初始值就是1,所以只执行了System.out.println这个换行符。没发现你第一行空了吗。
j = 0
是三行没有错,不过你的第二个for哪里出错了 j<i 应改成j<=i 就可以完美解决
首先,你这个代码的确是有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就可以了
int j = 1; j < i + 1; j++
里面的循环应该是 j<=i i=3的时候只会循环 1,2
举报
0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始
4 回答为什么打印出来*不在一行,是打印一个空一行,打印两个空一行······?
3 回答为什么不能打印出两个char型的字符
7 回答为什么示例打印出了每个答案,而题目只打印出了一个答案
2 回答为什么不能打印出来
4 回答请问当打印输出放在while前面时为什么会输出两个答案,求解