我在完成分配给我的作业(高中)时遇到问题。这是一个猜数字的游戏,我已经记下了大部分内容,但他希望我们在控制台上输入一系列数字。示例输出如下:
输入下限:4
输入上限:10
等等,基本上选择你想让计算机选择的具体数字范围。我只能在设定的范围(1-1000)内编码,因为我不知道如何做他想做的事。这是我的代码:
import java.util.Scanner;
public class Game {
public static void main(String[] args) {
int randomNumber;
randomNumber = (int) (Math.random() * 999 + 1);
Scanner keyboard = new Scanner(System.in);
int guess;
do {
System.out.print("Enter a guess (1-1000): ");
guess = keyboard.nextInt();
if (guess == randomNumber)
System.out.println("Your guess is correct. Congratulations!");
else if (guess < randomNumber)
System.out.println("Your guess is smaller than the secret number.");
else if (guess > randomNumber)
System.out.println("Your guess is greater than the secret number.");
} while (guess != randomNumber);
}
}
如果你尝试一下,无论如何也很难玩。我希望得到一些帮助,谢谢!
最佳答案
对于范围内的随机数,您有两种选择:
Random rand = new Random();
// nextInt is normally exclusive of the top value,
// so add 1 to make it inclusive
int randomNum = rand.nextInt((max - min) + 1) + min;
或者在 java 1.7 或更高版本中:
int randomNum = ThreadLocalRandom.current().nextInt(min, max + 1);
关于java - Java猜数程序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43714808/