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

为什么第二层循环的j一定得是j<=i; 不能是j<=3吗?

public class HelloWorld {
    public static void main(String[] args) {
       
  System.out.println("打印直角三角形");
       
  // 外层循环控制行数
  for (int i = 1; i<=3; i++   ) {
           
   // 内层循环控制每行的*号数
   // 内层循环变量的最大值和外层循环变量的值相等
   for (int j = 1;j<=i;j++   ) {
               
    System.out.print("*");
   }
           
   // 每打印完一行后进行换行
   System.out.println();
  }
 }
}

正在回答

1 回答

为了使每行对应的符号个数与行数相等,第一次循环,i是一,j最多取一。第二次为2,j最多取2.以此类推。



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

qq_慕沐4213791 提问者

按理说跟着循环下来i=1的时候j也是=1的啊
2019-07-03 回复 有任何疑惑可以回复我~
#2

sadg 回复 qq_慕沐4213791 提问者

不是这样的,先是第一层循环开始,在第一层循环中第二层循环开始,第一层循环一次,第二层循环一周,就像接力赛,4*100,第一层循环就像四个人的排列,依次参加跑步。第二层循环就像每个人要跑的那100米。
2019-07-03 回复 有任何疑惑可以回复我~
#3

sadg 回复 sadg

假如有人在他的那一圈中不想跑了,就用continue,退出这一圈,后面的人接着跑。假如其中一人跑的时候,教练不想参赛了,就用break,之后的人就不用跑了
2019-07-03 回复 有任何疑惑可以回复我~
#4

sadg 回复 sadg

这道题相当于让第一个人跑一圈,第二个人跑两圈,第n个人跑n圈,假入你的j的是固定的,就会造成所有人跑一样的圈数
2019-07-03 回复 有任何疑惑可以回复我~
#5

qq_慕沐4213791 提问者 回复 sadg

意思就是第一层循环跑一次第二层循环得跑四次是吧? 懂了 感谢老哥
2019-07-04 回复 有任何疑惑可以回复我~
#6

qq_慕沐4213791 提问者 回复 sadg

完了 我还是没理解
2019-07-04 回复 有任何疑惑可以回复我~
#7

sadg 回复 qq_慕沐4213791 提问者

就是外层循环的一次,内层循环的一周,哪里没理解啊?
2019-07-21 回复 有任何疑惑可以回复我~
查看4条回复

举报

0/150
提交
取消

为什么第二层循环的j一定得是j<=i; 不能是j<=3吗?

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