重新提示Dialog输入,直到满足猜测数量-java

时间:2015-09-22 08:16:36

标签: java input while-loop dialog prompt

我一直试图提示相同的输入对话框,直到用户猜出正确的数字,但我不确定如何,任何帮助都会被欣赏!我很确定如何实现while循环,但我不知道究竟是怎么回事。用户输入是解析为int的字符串,用于计算

JOptionPane.showMessageDialog(null, "\nWelcome to Guess-       My-Number\nA GAME of CHANCE and SKILL\nLet's Play!\n\n");

            // input number
         String myGuess = JOptionPane.showInputDialog("Enter a number between 1 and 25:");
         int myGuess_int = Integer.parseInt(myGuess);

         final int NUMBER_TO_GUESS = 13;



           //good or bad guess??
         while(myGuess_int != NUMBER_TO_GUESS)
         {
            if(myGuess_int < NUMBER_TO_GUESS) //too low
            {
               String message = String.format("Your guess [ %s ] is too low...\nTry Again!\n", myGuess);
               JOptionPane.showMessageDialog(null, message);   
            } 
            else //too high
            {
               String message = String.format("Your guess [ %s ] is too high...\nTry Again!\n", myGuess);
               JOptionPane.showMessageDialog(null, message);             
            }

            JOptionPane.showInputDialog("Enter a number between 1 and 25:");
            myGuess_int = Integer.parseInt(myGuess);    

          }//end while


          String message = String.format("Your guess [ %s ] is the number...\nCongratulations!\n", myGuess);
          JOptionPane.showMessageDialog(null, message);


      } //end main

   } //end class

2 个答案:

答案 0 :(得分:0)

您可以在条件中使用do while循环

场景将如下:

do { 
     // accept prompt from user

     // display error message using if else statement

} while (myGuess_int != NUMBER_TO_GUESS);  // loop again if input not match

答案 1 :(得分:0)

尝试使用do-while loop

            JOptionPane.showMessageDialog(null, "\nWelcome to Guess-       My-Number\nA GAME of CHANCE and SKILL\nLet's Play!\n\n");

         final int NUMBER_TO_GUESS = 13;

         //good or bad guess??
         String myGuess;
         int myGuess_int;
         do{
            // input number
            myGuess = JOptionPane.showInputDialog("Enter a number between 1 and 25:");
            myGuess_int = Integer.parseInt(myGuess);
            if(myGuess_int < NUMBER_TO_GUESS) //too low
            {
               String message = String.format("Your guess [ %s ] is too low...\nTry Again!\n", myGuess);
               JOptionPane.showMessageDialog(null, message);   
            } 
            else //too high
            {
               String message = String.format("Your guess [ %s ] is too high...\nTry Again!\n", myGuess);
               JOptionPane.showMessageDialog(null, message);             
            }

            JOptionPane.showInputDialog("Enter a number between 1 and 25:");
            myGuess_int = Integer.parseInt(myGuess);    

          }while(myGuess_int != NUMBER_TO_GUESS);//end while


          String message = String.format("Your guess [ %s ] is the number...\nCongratulations!\n", myGuess);
          JOptionPane.showMessageDialog(null, message);


      } //end main

   } //end class