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

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

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

相关推荐 更多相似问题