2016-10-18 6 views
0

私は以下のプログラムコードを書いていますが、試してみましたが、常に最初の数字だけを読み取っています....最初の数字だけを読み取ったプログラムが入力されました。ユーザプログラムによって入力された残りの数字は、常に最初の数字を無視して読み取りますか?

"ユーザーが入力した残りの数字が入力されましたプログラムは常に最初の数字を無視して読みますか? " "特定の番号のmath.randomも解決してください。"

public static void main(String[] args) { 

    Scanner reading = new Scanner(System.in); 


    int randomNumber = (int) (Math.random() * 50-1); 

    int input; 
    int guessNumber; 

    System.out.println("  Welcome UCT beginers Game we will tes your IQ  "); 
    for (int i=1; i<3; i++) 
    { 
    System.out.println("  Please select your level Game  "); 
    System.out.println("1. Three chances to play."); 
    System.out.println("2. Five chances to play"); 
    System.out.println("3. Ten chances to play"); 
    System.out.println("4. Exit the Game"); 

    input = reading.nextInt(); 



    switch (input) 
    { 

    case 1: 
     System.out.println("  Welcome You have chosen level ONE. This is normally can pass only with higher IQ"); 
     System.out.println("Please Guess my number"); 
     guessNumber = reading.nextInt(); 
     if (randomNumber == guessNumber) 
     { 
      System.out.println("   Congratulation; You have earned 3 coins"); 
      break; 

     } 

     else if (randomNumber > guessNumber) 
     {for (int a = 1; a < 3; a++) 

      { 
      System.out.println("   Sorry Low number"); 
      guessNumber = reading.nextInt(); 

      } 
      System.out.println("Sorry! we can't help you any more, You failed *** The number was "+randomNumber); 
     } 
     else if (randomNumber < guessNumber) 
     {for (int a = 1; a < 3; a++) 
      { 
      System.out.println("   Sorry High number" ); 
      guessNumber = reading.nextInt(); 
      } 
      System.out.println("Sorry! we can't help you any more, You failed *****The number was "+ randomNumber); 
     } 
     break; 
    case 2: 
     System.out.println("  Welcome You have chosen level TWO. This is normally can pass middale IQ"); 
     System.out.println("Please Guess my number"); 
     guessNumber = reading.nextInt(); 
     if (randomNumber == guessNumber) 
     { 
      System.out.println("   Congratulation; You have earned 3 coins"); 
      break; 
     } 
     else if (randomNumber > guessNumber) 
     {for (int a = 1; a < 5; a++) 
      { 
      System.out.println("   Sorry Low number"); 
      guessNumber = reading.nextInt(); 
      } 
     System.out.println("Sorry! we can't help you any more, You failed *** The number was "+randomNumber); 
     } 
     else if (randomNumber < guessNumber) 
     {for (int a = 1; a < 5; a++) 
      { 
      System.out.println("   Sorry High number"); 
      guessNumber = reading.nextInt(); 
      } 
      System.out.println("Sorry! we can't help you any more, You failed *** The number was"+randomNumber); 
     } 
     break; 
    case 3: 
     System.out.println("  Welcome You have chosen level THREE. This passes normally every person"); 
     System.out.println("Please Guess my number"); 
     guessNumber = reading.nextInt(); 
     if (randomNumber == guessNumber) 
     { 
      System.out.println("   Congratulation; You have earned 3 coins"); 
      break; 
     } 
     else if (randomNumber > guessNumber) 
     { 
      for (int a = 1; a < 10; a++) 
      { 
      System.out.println("   Sorry Low number"); 
      guessNumber = reading.nextInt(); 
      } 
      System.out.println("Sorry! we can't help you any more, You failed *** The number was "+randomNumber); 
     } 
     else if (randomNumber < guessNumber) 
     { 
      for (int a = 1; a < 10; a++) 
      { 
      System.out.println("   Sorry High number"); 
      guessNumber = reading.nextInt(); 
      } 
      System.out.println("Sorry! we can't help you any more, You failed *** The number was "+randomNumber); 
     } 
     break; 
    case 4: 

     System.exit(0); 
     break; 
    default: 
     System.out.println("Invalid entary"); 
     break; 

    } 

} 



} 
+0

あなたは私に何が必要なのかを最も明確にして教えてもらえますか? –

答えて

0
public static void main(String args[]) { 
     int input; 
     int guessNumber; 
     Scanner reading = new Scanner(System.in); 
     int randomNumber = (int) (Math.random() * 50 - 1); 
     System.out.println("  Welcome UCT beginers Game we will tes your IQ  "); 
     System.out.println("  Please select your level Game  "); 
     System.out.println("1. Three chances to play."); 
     System.out.println("2. Five chances to play"); 
     System.out.println("3. Ten chances to play"); 
     System.out.println("4. Exit the Game"); 
     while (reading.hasNext()){ 
      input = reading.nextInt(); 
      switch (input) { 
       case 1: 
        System.out.println("  Welcome You have chosen level ONE. This is normally can pass only with higher IQ"); 
        System.out.println("Please Guess my number"); 
        guessNumber = reading.nextInt(); 
        if (randomNumber == guessNumber) { 
         System.out.println("   Congratulation; You have earned 3 coins"); 
         break; 

        } else if (randomNumber > guessNumber) { 
         for (int a = 1; a < 3; a++) 

         { 
          System.out.println("   Sorry Low number"); 
          guessNumber = reading.nextInt(); 

         } 
         System.out.println("Sorry! we can't help you any more, You failed *** The number was " + randomNumber); 
        } else if (randomNumber < guessNumber) { 
         for (int a = 1; a < 3; a++) { 
          System.out.println("   Sorry High number"); 
          guessNumber = reading.nextInt(); 
         } 
         System.out.println("Sorry! we can't help you any more, You failed *****The number was " + randomNumber); 
        } 
        break; 
       case 2: 
        System.out.println("  Welcome You have chosen level TWO. This is normally can pass middale IQ"); 
        System.out.println("Please Guess my number"); 
        guessNumber = reading.nextInt(); 
        if (randomNumber == guessNumber) { 
         System.out.println("   Congratulation; You have earned 3 coins"); 
         break; 
        } else if (randomNumber > guessNumber) { 
         for (int a = 1; a < 5; a++) { 
          System.out.println("   Sorry Low number"); 
          guessNumber = reading.nextInt(); 
         } 
         System.out.println("Sorry! we can't help you any more, You failed *** The number was " + randomNumber); 
        } else if (randomNumber < guessNumber) { 
         for (int a = 1; a < 5; a++) { 
          System.out.println("   Sorry High number"); 
          guessNumber = reading.nextInt(); 
         } 
         System.out.println("Sorry! we can't help you any more, You failed *** The number was" + randomNumber); 
        } 
        break; 
       case 3: 
        System.out.println("  Welcome You have chosen level THREE. This passes normally every person"); 
        System.out.println("Please Guess my number"); 
        guessNumber = reading.nextInt(); 
        if (randomNumber == guessNumber) { 
         System.out.println("   Congratulation; You have earned 3 coins"); 
         break; 
        } else if (randomNumber > guessNumber) { 
         for (int a = 1; a < 10; a++) { 
          System.out.println("   Sorry Low number"); 
          guessNumber = reading.nextInt(); 
         } 
         System.out.println("Sorry! we can't help you any more, You failed *** The number was " + randomNumber); 
        } else if (randomNumber < guessNumber) { 
         for (int a = 1; a < 10; a++) { 
          System.out.println("   Sorry High number"); 
          guessNumber = reading.nextInt(); 
         } 
         System.out.println("Sorry! we can't help you any more, You failed *** The number was " + randomNumber); 
        } 
        break; 
       case 4: 

        System.exit(0); 
        break; 
       default: 
        System.out.println("Invalid entary"); 
        break; 

      } 

     } 


    } 
+0

でも同じです。もっと明確にしていただけますか? –

+0

慎重に見てください。私のコードをチェックしましたか?それはあなたと同じではありません – user5620472

+0

私はコピーして貼り付けても何も解決しません。もう一度これを解決できますか? –

0

私はそれがすべてのユーザー入力を読み取るコードを実行すると。ただし、必要に応じて処理しません。私は、ユーザーが推測された数値が高すぎるか低すぎるかどうかを知らされ、それに応じて推測値を調整できるようになるたびに、ユーザーが何度か推測できると考えていると仮定します。投稿の試みで、

問題がであるこのコードの(複数の類似作品がある)である。このループは、ユーザからの次の推測を読み込みますが、乱数に対してそれをチェックしませんので、

else if (randomNumber > guessNumber) 
    {for (int a = 1; a < 3; a++) 

     { 
     System.out.println("   Sorry Low number"); 
     guessNumber = reading.nextInt(); 

     } 
     System.out.println("Sorry! we can't help you any more, You failed *** The number was "+randomNumber); 
    } 

しかし、数字が低すぎると出力し続けます。

解決策を再検討する必要があります。ユーザが第2の推測をした後、コードは、それがrandomNumberに等しいか、randomNumberより小さいか、またはrandomNumberより大きいかどうかを再度チェックする必要があります。だからあなたのチェックはの内部にある必要がありますループのチェック内のループではありません。

while user has not made three guesses 
     get next guess from user 
     check guess and print appropriate messages 
関連する問題