我希望输入在所有方法中都可用,我该如何声明它?

时间:2016-09-11 04:07:58

标签: java

所以我要做的就是使用我的主要方法,在其中调用其他方法来处理各种用户输入代码。

我不是每次都编写System.in,而是想在所有内容之外定义输入,整个类都会认识到这意味着什么。

这就是我所拥有的:

public static final Scanner input = new Scanner(System.in);

但它似乎没有按预期工作,一旦我将下一个方法拉入main方法,我的程序就会崩溃。我一直在研究这个,但我不理解我正在尝试做的答案。

有人可以帮忙吗?

根据要求,这是我得到的例外情况:

Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:864)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextInt(Scanner.java:2117)
    at java.util.Scanner.nextInt(Scanner.java:2076)
    at question1project.TeleSurvey.ageInput(TeleSurvey.java:83)
    at question1project.TeleSurvey.main(TeleSurvey.java:38)

我的代码中的行正在抛出异常:

a = input.nextInt();

1 个答案:

答案 0 :(得分:0)

如文档所示,您正在调用Scanner.nextInt(),如果下一个输入不是整数文字,那么它将抛出InputMismatchException

如果输入是整数,你应该检查输入,如果你不希望输入是整数,那么你应该使用Scanner的适当方法。

为了在类之间共享输入,您可以将其分配给类的public static变量。