课程
/后端开发
/Java
/Java入门第一季(IDEA工具)升级版
为什么我写int j=1;j<=3;j++时候,打印出来的是个三行三列的,而写就j<=i时候,打印出来的是直角三角形
2016-05-22
源自:Java入门第一季(IDEA工具)升级版 4-14
正在回答
内循环执行完了之后再次执行时 j的初始值还是等于1的,这个时候i等于2(也就是循环条件为 j<=2)所以执行两次,到下一个内循环I等于3就执行三次。
首先你得先想一下 直角三角形是个什么样子的,最头上只有一个,越往下 越多,循环嵌套的时候,外循环是控制 行数的,内循环控制列数。当最上面只有一个的时候 说明内循环只循环了一次 就跳出来了。
你想下啊,外层循环i(i代表行)每走一次,你里面j(j代表列)就走三次,这不就是三行三列吗,题目有说,第一行一个,二行两个,三行三个,所以第i行就有i个,所以j<=i!
所以你输入第一行的时候j是执行了三次,因为小于3.同理 第二行 第三行也是执行三次,所以三行三列。
而i是变量,第一行i为1第二行为2....... 然后第一行j只能执行i次,就是直角三角形【语文不好,不会组织语言。抱歉让你看了这么多】
你的原函数 应该是一个for (int i;;)然后里面嵌套一个你这个循环,你自已慢慢算啊。当i第一次执行的时候是等于1 对不对?所以这个时候j<=1,所以执行一次,就跳出这个小循环,然后执行第二次大循环,然后第二次i=2,小循环里执行两次, 所以是个直角三角形,【总而言之你这个3是常量,而i是变量,循环一次加一次】
举报
0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始
1 回答为什么这样写不行?
2 回答为什么这样写不行
1 回答为什么我的运行不了
5 回答为什么这样写不行啊
1 回答为什么我的运行不了呢