是怎样打出下面的图形的?

recentlywe 2021-04-04 01:59:20
能理解为什么有六排,就是不能理解为什么第一排只有一个*,第二排有两个*,第三排有三个*?
for(int i=1;i<7;i++) {
for(int j=0;j<=i-1;j++) {
System.out.print("*");
}
System.out.println();
}
}

*
**
***
****
*****
******
...全文
234 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
recentlywe 2021-04-07
  • 打赏
  • 举报
回复
引用 9 楼 sh_c_2450957609 的回复:
[quote=引用 6 楼 recentlywe的回复:]外循环for的每执行一次,他的作用域{}里的代码都要重新执行一边,当i=2时,j<=i-1就是j<=1了,这时内循环的条件就是 for(int j=0;j<=1;j++){},从j=0开始重新执行一边for内循环了,这时打印了两个星,for循环了{} 下面的println()什么也没输出只是进行了换行 当i=3,一样for(int j=0;j<=2;j++)循环打印三个星,然后下面换行,以此类推
j不自增吗[/quote] 大兄弟,你是不是来消遣人的,有自增呀,当i=3 时,for(int j=0;j<=2;j++) for循环先声明初始化int j=0,在进行条件判断j<=2,如果满足条件就进行{}里面的print语句输出操作,然后j++自增加一;再次进行条件判断,现在j的值为自增后的1了,满足条件,进行{}里的print("*")输出,然后j++自增加一j=2了,进行条件判断j=2符合j<=2,进行print打印;j++在自增加一现在j为3,条件判断j<=2,不符合条件,循环结束跳出内for循环,这时一共打印了三颗 * 。 然后进行外for循环的换行操作。 我还是挺有耐心的哈哈。[/quote] 谢谢
KeepSayingNo 2021-04-06
  • 打赏
  • 举报
回复
内层循环每次都从0开始,到达外层循环的数,你看图形转为数字不就是1,2,3,4,5,6吗
sh_c_1314 2021-04-06
  • 打赏
  • 举报
回复
引用 6 楼 recentlywe的回复:
外循环for的每执行一次,他的作用域{}里的代码都要重新执行一边,当i=2时,j<=i-1就是j<=1了,这时内循环的条件就是 for(int j=0;j<=1;j++){},从j=0开始重新执行一边for内循环了,这时打印了两个星,for循环了{} 下面的println()什么也没输出只是进行了换行 当i=3,一样for(int j=0;j<=2;j++)循环打印三个星,然后下面换行,以此类推
j不自增吗[/quote] 大兄弟,你是不是来消遣人的,有自增呀,当i=3 时,for(int j=0;j<=2;j++) for循环先声明初始化int j=0,在进行条件判断j<=2,如果满足条件就进行{}里面的print语句输出操作,然后j++自增加一;再次进行条件判断,现在j的值为自增后的1了,满足条件,进行{}里的print("*")输出,然后j++自增加一j=2了,进行条件判断j=2符合j<=2,进行print打印;j++在自增加一现在j为3,条件判断j<=2,不符合条件,循环结束跳出内for循环,这时一共打印了三颗 * 。 然后进行外for循环的换行操作。 我还是挺有耐心的哈哈。
HuangHe201691 2021-04-06
  • 打赏
  • 举报
回复
仔细去看一下for循环的执行流程逻辑就明白了
recentlywe 2021-04-05
  • 打赏
  • 举报
回复
外循环for的每执行一次,他的作用域{}里的代码都要重新执行一边,当i=2时,j<=i-1就是j<=1了,这时内循环的条件就是 for(int j=0;j<=1;j++){},从j=0开始重新执行一边for内循环了,这时打印了两个星,for循环了{} 下面的println()什么也没输出只是进行了换行 当i=3,一样for(int j=0;j<=2;j++)循环打印三个星,然后下面换行,以此类推[/quote] j不自增吗
sh_c_1314 2021-04-04
  • 打赏
  • 举报
回复
引用 2 楼 recentlywe的回复:
[quote=引用 1 楼 sh_c_2450957609 的回复:]这是两个循环,外循环控制着排数一共6排,内循环控制着每一排的个数;当i=1是外循环控制着要打印第一排,内循环,当i=1时,j<=0,for循环只循环了一次,打印了一个星。当i=2时,外循环控制打印第二排,内循环这时j<=1,j=0,重新开始循环,打印了两次,两颗星。以此类推就可以了。
为什么j=0 [/quote] 外循环for的每执行一次,他的作用域{}里的代码都要重新执行一边,当i=2时,j<=i-1就是j<=1了,这时内循环的条件就是 for(int j=0;j<=1;j++){},从j=0开始重新执行一边for内循环了,这时打印了两个星,for循环了{} 下面的println()什么也没输出只是进行了换行 当i=3,一样for(int j=0;j<=2;j++)循环打印三个星,然后下面换行,以此类推
sh_c_1314 2021-04-04
  • 打赏
  • 举报
回复
外循环每执行一次
sh_c_1314 2021-04-04
  • 打赏
  • 举报
回复
外循环没执行一次,内for循环代码就要重新执行一边,这时(int j=0;j<=1;j++) 呀
recentlywe 2021-04-04
  • 打赏
  • 举报
回复
引用 1 楼 sh_c_2450957609 的回复:
这是两个循环,外循环控制着排数一共6排,内循环控制着每一排的个数;当i=1是外循环控制着要打印第一排,内循环,当i=1时,j<=0,for循环只循环了一次,打印了一个星。当i=2时,外循环控制打印第二排,内循环这时j<=1,j=0,重新开始循环,打印了两次,两颗星。以此类推就可以了。
为什么j=0
sh_c_1314 2021-04-04
  • 打赏
  • 举报
回复
这是两个循环,外循环控制着排数一共6排,内循环控制着每一排的个数;当i=1是外循环控制着要打印第一排,内循环,当i=1时,j<=0,for循环只循环了一次,打印了一个星。当i=2时,外循环控制打印第二排,内循环这时j<=1,j=0,重新开始循环,打印了两次,两颗星。以此类推就可以了。

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧