0
var target=10;
var totalGuess=0;
var input = window.prompt('Enter a number between 1 and 100: ');  
var guess = parseInt(input);  
  do  
    {  
        totalGuess++;  
        if (guess < target)  
        {  
            window.prompt("Too low! Guess Again!");  
        }  
        if (guess > target)  
        {  
            window.prompt("Too High! Guess Again!");  
        }  
        if (guess == target)  
        {  
            alert("Thats right! It took you " +totalGuess +" tries to get it right!"); 
            break;
        }  

    } while (guess != target );  

ユーザーが入力した数値が高いか低いかを確認しようとしていますが、このプログラムは1つのステートメントのみをチェックしてから停止します。

4

4 に答える 4

1

次の 2 行を移動する必要があります。

var input = window.prompt('Enter a number between 1 and 100: ');  
var guess = parseInt(input);

ユーザーが正しく推測するまで繰り返しプロンプトが表示されるように、do ステートメントの内部に追加します。

于 2012-12-13T04:33:04.003 に答える
0

問題は、最初の入力だけがプログラムに入力されることです。それ以降の入力値は無視されます。これを試して。

    if (guess < target)  
        {  
                input = window.prompt("Too low! Guess Again!");
                guess = parseInt(input);   
        }  
        if (guess > target)  
        {  
                input = window.prompt("Too High! Guess Again!"); 
                guess = parseInt(input); 
        }  
        if (guess == target)  
        {  
                alert("Thats right! It took you " +totalGuess +" tries to get it right!"); 
        break;
  }
于 2012-12-13T04:40:21.417 に答える
0

これを試してみてください

ここで動作することを確認してくださいhttp://jsfiddle.net/9mQ2b/14/

毎回条件をチェックできるように、Guess変数を再初期化しませんでした

<!DOCTYPE html>
<html>
<body>
<script>

var target=10;
var totalGuess=0;
var input = window.prompt('Enter a number between 1 and 100: ');  
var guess = parseInt(input);  
do  
    {  


        totalGuess++;  

        if (guess < target)  
        {  
 guess = parseInt (window.prompt("Too low! Guess Again!"));  
        }  
        if (guess > target)  
        {  
 guess = parseInt (window.prompt("Too High! Guess Again!"));  
        }  
        if (guess == target)  
        {  
            alert("Thats right! It took you " +totalGuess +" tries to get it right!"); 
        break;
        }  


    } while (guess != target ); 
</script>
</body>
</html>
于 2012-12-13T04:37:33.167 に答える
0
var target=10;
var totalGuess=0;
var input = window.prompt('Enter a number between 1 and 100: ');  
var guess = parseInt(input);  
do  
    {  

        guess = parseInt(input);  
        totalGuess++;  

        if (guess < target)  
        {  
           input = window.prompt("Too low! Guess Again!");  
        }  
        if (guess > target)  
        {  
           input = window.prompt("Too High! Guess Again!");  
        }  
        if (guess == target)  
        {  
            alert("Thats right! It took you " +totalGuess +" tries to get it right!"); 
        break;
        }  


    } while (guess != target );  
于 2012-12-13T04:34:14.107 に答える