为什么我的代码无法运行“猜我的号码”游戏?

时间:2019-11-08 00:56:57

标签: java

我试图对我的数字游戏进行简单的猜测。您输入一个数字,计算机将输出一个随机数字,并告诉您距离您有多远。根据intellij,代码中没有任何错误,但不会运行。这是我的代码:

import java.util.Scanner;
import java.util.Random;

public class ThinkJava {

    //guess my number
    public static void main(String[] args) {
        //random number generator
        Random random = new Random();
        int number = random.nextInt(100) + 1;
        Scanner in = new Scanner(System.in);

        int guess = in.nextInt();
        int difference = guess - number;

        System.out.println("I'm thinking of a number 1-100 (including both). Can you guess what it is?");
        in.nextInt();
        System.out.println("Your guess is: " + guess);
        System.out.println("The number I was thinking of was: " + number);
        System.out.println("You were off by: " + difference);

    }
}

1 个答案:

答案 0 :(得分:0)

您的代码应该可以毫无问题地运行(对我而言确实如此),但不会出现预期的行为。游戏会在显示任何消息之前提示您猜测数字:

import { BrowserRouter } from "react-router-dom";

然后,在第一条消息之后会出现另一个提示,要求其他用户输入才能继续:

int guess = in.nextInt();

此时输入第二个数字,程序将显示最后一条消息,但不考虑最后一个输入(因为它没有分配给变量),猜测和差异信息将引用第一个输入的数字,令人困惑。

您应该摆脱第二个提示,并将其替换为第一个提示,并移动它(以及随后的行来计算差异,因为这取决于第一个)。

此外,当您不再使用扫描仪时,应该System.out.println("I'm thinking of a number 1-100 (including both). Can you guess what it is?"); in.nextInt(); System.out.println("Your guess is: " + guess); 释放资源。

所以,最后:

close()