java吧 关注:1,264,096贴子:12,764,442
  • 4回复贴,共1
我想输出
*****
***
*
代码:
for(int i=5; i>0; i-=2){
for(int j=5; j>i-1; j-=1){
System.out.print("*");
}
System.out.println("");
为什么输出的是
*
***
*****


1楼2012-05-05 13:52回复
    for(int j=5; j>i-1; j-=1){
    System.out.print("*");
    }
    代表每一行 * 的个数
    int j = 5 ;代表初始值
    so第一行输出5咯没错
    然后,就自己想下


    IP属地:重庆2楼2012-05-05 14:00
    回复
      2025-06-13 08:08:35
      广告
      内循环死循环了吧


      IP属地:广西来自掌上百度3楼2012-05-05 14:09
      回复
        内层循环写错了!
        外层循环控制循环的行数,内层循环控制输出的个数!
        for(int j=5; j>i-1; j-=1){
        System.out.print("*");
        }
        这是你写的内层循环
        for(int i=5; i>0; i-=2){ }
        结合这个外层循环看:
        当i=5时进入了内层循环,然后你的内层循环的条件就成了(int j=5;j>5-1;j-=1)这样只能进入一次循环,所以你的第一行只输出一次!后面的以此类推!


        4楼2012-05-06 03:55
        回复
          这类问题最好用debug分析


          IP属地:广东来自Android客户端5楼2012-05-06 08:56
          回复