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

为什么我写的不行

为什么我写int j=1;j<=3;j++时候,打印出来的是个三行三列的,而写就j<=i时候,打印出来的是直角三角形

正在回答

5 回答

内循环执行完了之后再次执行时 j的初始值还是等于1的,这个时候i等于2(也就是循环条件为 j<=2)所以执行两次,到下一个内循环I等于3就执行三次。

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

首先你得先想一下 直角三角形是个什么样子的,最头上只有一个,越往下 越多,循环嵌套的时候,外循环是控制 行数的,内循环控制列数。当最上面只有一个的时候 说明内循环只循环了一次 就跳出来了。

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

你想下啊,外层循环i(i代表行)每走一次,你里面j(j代表列)就走三次,这不就是三行三列吗,题目有说,第一行一个,二行两个,三行三个,所以第i行就有i个,所以j<=i!

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

所以你输入第一行的时候j是执行了三次,因为小于3.同理  第二行 第三行也是执行三次,所以三行三列。

而i是变量,第一行i为1第二行为2.......  然后第一行j只能执行i次,就是直角三角形【语文不好,不会组织语言。抱歉让你看了这么多】

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

你的原函数 应该是一个for  (int i;;)然后里面嵌套一个你这个循环,你自已慢慢算啊。当i第一次执行的时候是等于1  对不对?所以这个时候j<=1,所以执行一次,就跳出这个小循环,然后执行第二次大循环,然后第二次i=2,小循环里执行两次,  所以是个直角三角形,【总而言之你这个3是常量,而i是变量,循环一次加一次】

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

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165822    人
  • 解答问题       17588    个

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

进入课程

为什么我写的不行

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