老师,用新写法 while(true) 写兔子多久能拔光500颗萝卜这个写法错在哪里了

老师,用新写法 while(true) 写兔子多久能拔光500颗萝卜这个写法错在哪里了

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<body>

    <script>

        // var sum = 0;

        // var i = 1;

        // while(i <= 10) {

        //     sum += i;

        //     i++;

        // }

        // document.write(sum);


        //猜数字

        // var input = Number(prompt("请输入您猜的数字"));

        // while(input != 5) {

        //     if(input < 0 || input > 10) {

        //         alert("请输入1-10以内的数字")

        //     }

        //     else if(input < 5) {

        //         alert("猜小了");

        //     }

        //     else if(input > 5) {

        //         alert("猜大了");

        //     }

        // }

        // alert("猜对了");


        //小兔子第一天拔一颗萝卜,第二天拔两颗萝卜,第三天拔三颗萝卜,多久可以把500颗萝卜拔光


        var sum = 0;

        var i = 1;

        while(true) {

            if (sum > 500) {

                sum += i;

                console.log(i);

                break;

            }

            i++;

        }

    </script>

</body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,只有满足if条件,才会执行 sum += i  这条语句,所以while循环时,只有i的值改变,sum的值一直为0,导致陷入了死循环。

建议修改: 将sum += i  放在if条件外

https://img1.sycdn.imooc.com//climg/62416fc2096c117109750431.jpg

祝学习愉快~

  • dy12369 提问者 #1

    老师,我不太理解sum的值放在外面这个问题,

    2022-03-28 22:13:31
  • 好帮手慕慕子 回复 提问者 dy12369 #2

    "不太理解sum的值放在外面这个问题" 是指var sum = 0 ;这句代码为什么放在while循环外吗?如果是的话,那么是因为如果将这句代码放在while循环内部,那么每次循环的时候,都会重新声明sum,并将其赋值为0,无法实现累加效果,所以需要将其放在while循环外,用来保存每次循环时累加的值。

    如果不是的话,可以再详细描述下具体是指哪里,便于帮助同学准确的定位与解决问题。

    祝学习愉快~

    2022-03-29 10:12:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师