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条)

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况