java - Java猜数程序问题

标签 java if-statement

我在完成分配给我的作业(高中)时遇到问题。这是一个猜数字的游戏,我已经记下了大部分内容,但他希望我们在控制台上输入一系列数字。示例输出如下:

输入下限: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/

相关文章:

java - 为什么这是一个无法访问的语句?

javascript - 带 for 循环的 Fizzbuzz 游戏

arrays - 如何检查数组中每个元素的条件?

java - 在 Intellij 中移动项目,现在无法编译

java - 如何在使用 CommonsMultipartFile 检查文件大小时防止文件完全加载到内存中? (java, Spring )

java - 如何同时更改JLabel文本和JButton位置

java - 如何在 IF 语句中使用数组?

c++ - 如何在 else-if 语句中正确使用 or 语句 (||)

java - 检测空输入(JAVA)

java - setDefaultHighRepJobPolicyUnappliedJobPercentage(100) 真的有效吗?