将循环数游戏转变为do while循环数游戏

-5 java

我使用while循环制作了一个数字游戏,但我被告知我应该做的同时做.我想知道如何从这种格式转移它来做.

import java.util.Scanner; 

public class SS_Un6As2 {

   public static void main(String[] args) {

   int guess = 0;

   int randomNumber = (int) (Math.random() *100) +1;

   Scanner scan = new Scanner(System.in);

   boolean running = true;

       while(running){
           System.out.println("Guess your number");
          guess = scan.nextInt();
           if(guess == randomNumber) {
                System.out.println("You are correct");
             break;
           }
           else if (guess > randomNumber){
               System.out.println("Too high.");
           }              
           else if (guess < randomNumber){
               System.out.println("Too low");
          }
           else {
               System.out.println("Try again");

           }
       }

   System.out.println("Thanks for playing");
    }
}
Run Code Online (Sandbox Code Playgroud)

chr*_*her 6

解决您的问题

while(running){
       System.out.println("Guess your number");
      guess = scan.nextInt();
       if(guess == randomNumber) {
            System.out.println("You are correct");
         break;
       }
       else if (guess > randomNumber){
           System.out.println("Too high.");
       }              
       else if (guess < randomNumber){
           System.out.println("Too low");
      }
       else {
           System.out.println("Try again");

       }
   }
Run Code Online (Sandbox Code Playgroud)

    do {
       System.out.println("Guess your number");
      guess = scan.nextInt();
       if(guess == randomNumber) {
            System.out.println("You are correct");
         break;
       }
       else if (guess > randomNumber){
           System.out.println("Too high.");
       }              
       else if (guess < randomNumber){
           System.out.println("Too low");
      }
       else {
           System.out.println("Try again");

       }
   }
   while(running);
Run Code Online (Sandbox Code Playgroud)

区别

在a中while loop,代码可以运行0-*时间.(0到很多).在do-while循环中,代码可以运行1-*一次.

堆栈溢出的精神

试着将这个地方视为最后的手段.我用谷歌搜索do while loop java,第一个链接是这个,完美地解释了你的问题.将来,也许你应该在依赖我们的研究之前使用自己的研究方法.

为你编辑

A for loop是不同的,因为它会运行x时间.像这样:

for(int x = 0; x < 5; x++)
{
   System.out.println("Hello " + x);
}
   /**
    * OUTPUT:
    * Hello 0
    * Hello 1
    * Hello 2
    * Hello 3
    * Hello 4
    */
Run Code Online (Sandbox Code Playgroud)

将While循环应用于您的问题

do-while环有一个条件语句在里面,里面的while.

do {
}
while(something is true)
Run Code Online (Sandbox Code Playgroud)

把它想象成你的if statement.现在你希望这是真的,直到这个人已经猜到了12.从逻辑上讲,你想要保持猜测次数,所以我们将引入一个int被叫guesses.而且你只想guesses达到12而不是更多,所以这就是我们要去的地方.

do {
   // Some code goes here.
   guesses ++;
   // Increase the number of guesses if they got it wrong.
}
while(correct = false && guesses < 12)
Run Code Online (Sandbox Code Playgroud)

我所做的是组成一个叫做变量的变量correct,它告诉我这个人是否正确.而且guesses每次他们猜错都会增加价值.这意味着循环只会在以下情况下停止:

  • 这个人猜对了
  • 这个人有12次尝试

  • +1为一个琐碎的问题的详细答案. (2认同)