重新提示对话框输入,直到符合猜数--Java

2022-06-22 00:00:00 input while-loop dialog prompt java

我一直试图提示相同的输入对话框,直到用户猜测正确的数字,但我不确定如何,任何帮助将不胜感激!我非常确定如何实现While循环,但我不知道具体如何实现。用户输入是解析为int以进行计算的字符串

JOptionPane.showMessageDialog(null, "
Welcome to Guess-       My-Number
A GAME of CHANCE and SKILL
Let's Play!

");

            // 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...
Try Again!
", myGuess);
               JOptionPane.showMessageDialog(null, message);   
            } 
            else //too high
            {
               String message = String.format("Your guess [ %s ] is too high...
Try Again!
", 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...
Congratulations!
", myGuess);
          JOptionPane.showMessageDialog(null, message);


      } //end main

   } //end class

解决方案

尝试使用do-while loop!

            JOptionPane.showMessageDialog(null, "
Welcome to Guess-       My-Number
A GAME of CHANCE and SKILL
Let's Play!

");

         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...
Try Again!
", myGuess);
               JOptionPane.showMessageDialog(null, message);   
            } 
            else //too high
            {
               String message = String.format("Your guess [ %s ] is too high...
Try Again!
", 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...
Congratulations!
", myGuess);
          JOptionPane.showMessageDialog(null, message);


      } //end main

   } //end class

相关文章