2017-09-11 18 views
-5

私は非常に最近、Pythonを勉強してJSを始めました.CodeCademyの演習を終えた後、ちょっとしたループで増分を少し試してみました。JavaScript Whileループ

構文は、コースのすぐ後でカバーされますが、私のコードが無限ループをスローする理由が不思議です。確かにループは3分後に壊れてしまいます。後で食べることができます!(6,7,8)と1つの「食べる時間! (9)?

私はそれが正しいとは限りませんが、なぜそうではないのか分かりません。

+0

紙とペンをとり、それぞれの実行ステップを書き留めてください。 – deceze

答えて

2

あなたは

if (hungerLevel > 7) { 
    console.log('Time to eat!'); 
} 

に入るときに8にごhungerLevelので、残りの時間はあなたのhungerLevel滞在をインクリメントしたことがないし、あなたが無限ループを取得しているため。このような

使用、あなたはそれだけ7以下ならばhungerLevelをインクリメントしているたびに

let hungerLevel = 5 
 

 
while (hungerLevel < 9) { 
 
    if (hungerLevel > 7) { 
 
    console.log('Time to eat!'); 
 
    } else { 
 
    console.log('We can eat later!');  
 
    } 
 
    hungerLevel += 1; 
 
}

+0

ありがとうございます。それは不当な間違いだった。 – TheJack

2

をインクリメントします。 elseブロック後にhungerLevel += 1;に移動する必要があります。あなたが特定の値で始まる増分変数を使用する場合は、各ループの中にそれをインクリメントし、if文

while (hungerLevel < 9) { 
    if (hungerLevel > 7) { 
    console.log('Time to eat!'); 
    } else { 
    console.log('We can eat later!'); 
    } 
    hungerLevel += 1; 
} 
+0

うわー、どうしたの? -.- – TheJack

0

forループは仕事のための正しいツールです。

for (let hungerLevel=5; hungerLevel < 9; hungerLevel++) { 
    if (hungerLevel > 7) { 
    console.log('Time to eat!'); 
    } else { 
    console.log('We can eat later!'); 
    } 
} 
0

のあなたの増分を移動し、それが終了値に達したかどうかを確認、する必要が

関連する問題