构造函数Scanner未定义

时间:2016-03-25 13:11:31

标签: java

我是Java的新手。我在这个错误中陷入困境:

  

构造函数Scanner()未定义

  

Scanner类型中的方法nextInt(int)不适用于参数(InputStream)。

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

public class NumberGenerator
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner();
        Random randomNumber = new Random();
        System.out.println("Please enter the maximum value: ");
        int maxValue = input.nextInt(System.in);
        for (int counter = 1; counter <= 1; counter++)
        {
            int number = randomNumber.nextInt(maxValue);
            System.out.println("Your random number is: " + number);
        }
    }
}

你可能会看到,我很新,我非常感谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您需要指定扫描仪应该读取的内容。我假设您希望它从控制台读取,在这种情况下您可以写:

Scanner input = new Scanner(System.in);

此外,nextInt()不接受参数。将其更改为:

int maxValue = input.nextInt();

答案 1 :(得分:1)

这两个问题的答案都在https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html。 Scanner类只有需要参数的构造函数,而nextInt方法不带参数或int。

建议:谷歌搜索“javadoc”是一个好习惯。