2016-12-07 6 views
0

私のプログラムは、ユーザーから5,10,10r20の推測を受け取ります。ユーザは、コンピュータによって選択された乱数を推測することになっている。ユーザーの推測は1から100の間でなければなりません。ユーザーが100以上の推測値を入力した場合、プログラムはそれを無視してその推測を再度要求します。たとえば、プログラムが「推測#1を入力してください」と尋ねられ、ユーザーが234を入力した場合、「推測#1を入力してください」と再度表示されます。else if文でユーザーからの推測を​​しますか?

何らかの理由で、私のコードはそうしていません。ユーザーが最初の推測のために234を入力した場合、推測2に移動します。 なぜ私のコードがこれをしていないのか説明できますか?

+0

入力した番号が、このように、1でi' 'デクリメントすることを忘れないで、範囲外の場合:' I - ; ' –

+0

私は編集することはできませんが、この質問は、間違ったタグを持っている、それは、Javaであるべきではなく、 javascript – neoDev

+1

@neoDevタグを編集しました。まだピアレビュー中 –

答えて

0

反復子(あなたの場合はint i)は、反復ごとに1ずつ増分します。マジックナンバーが無効な場合、イテレーターを1減らすことができます。

if (guess > randomNumber && guess <= 100){ 
    System.out.println("Your guess, "+guess+", is greater than the magic number."); 
    // If the value of i at this point is 1 
    i--; //Decrement i by 1 
    // Now the value of i is 0. The value of i in the next iteration will be 1 
} 
else if (guess < randomNumber && guess > 0){ 
    System.out.println("Your guess, "+guess+", is less than the magic number."); 
    // If the value of i at this point is 1 
    i--; //Decrement i by 1 
    // Now the value of i is 0. The value of i in the next iteration will be 1 
}