zyf4005 2016-04-10 02:51 采纳率: 100%
浏览 1334
已采纳

为啥会死循环?求大神解答

// 1到100之间7的倍数的个数,并打印。

class dayin2
{
public static void main(String []args)
{
int sum=0;
for (int i=1; i<101 ;i++ )
{
for (;i%7==0 ; )
{
sum++;
}

   }
   System.out.println("1到100之间7的倍数的个数为"+sum);

}

}

  • 写回答

4条回答 默认 最新

  • 小灸舞 2016-04-10 03:01
    关注

    如果是for (;i%7==0 ; )那么当i循环到7的时候那么此时i%7等于0了,然后会进入循环执行sum++
    由于此时for的第三个语句是空,那么又会判断i%7==0,此时又符合,又进入了for循环,sum++,就陷入死循环了
    所以要改为if(i%7==0){sum++;}

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 luckysheet
  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题