一尘不染

使用math.random在Java中猜测游戏

java

嗨,我正在尝试使用Math.random生成一个介于0到100之间的随机数,然后要求用户输入一个介于0到100之间的数字或退出-1。如果该数字超出范围(而不是-1),请要求用户输入一个新数字。如果用户没有正确猜出该数字,请告诉用户该随机数是高于还是低于猜出的数字。让用户猜测,直到他们输入正确的数字或​​输入-1。如果他们猜到正确的数字,请告诉用户尝试了多少次,然后重新开始游戏。它将继续播放,直到用户退出为止。

我在如何只让用户输入0-100以及如何通过输入-1退出循环方面陷入困境

这是我到目前为止所拥有的,任何帮助将不胜感激!

import java.util.Scanner;

public class QuestionOne
{
  public static void main(String args[])
  {
   Scanner keyboard = new Scanner(System.in);

   int a = 1 + (int) (Math.random() * 99);
   int guess;

   System.out.println("Guess a number between 0-100");


   while(guess != a){
   guess = keyboard.nextInt();
   if (guess > a)
   {  
     System.out.println("The number is lower!");

   }
   else if (guess < a) 
   {
    System.out.println("higher!");

   }
   else 
   {
     System.out.println("Congratulations.You guessed the number with" + count + "tries!");
   }
   }
  }
}

阅读 179

收藏
2020-12-03

共1个答案

一尘不染

首先,您对keyboard.nextInt()的调用(及其对应的println为“猜测0-100之间的数字”)应该在while循环内。

然后,您应该考虑将while循环更改为

while (true) {
    // read input from user
    if (guess < value) { // tell user their guess is too low
    } else if (guess > value) { // tell user their guess is too high
    } else { // tell user congrats, and call break to exit the while loop }
    }
}

一旦做对了,就可以进行精妙的处理,例如检查猜中的数字是否在范围之内,跟踪他们进行了多少次猜测等。

2020-12-03