2016-09-11 1 views
-1

私がしようとしているのは、ユーザー入力コードのさまざまなビットを処理するために、他のメソッドを呼び出す主な方法です。すべてのメソッドで入力を使用できるようにするには、どうすれば宣言できますか?

いつもSystem.inを記述するのではなく、すべてのものの外側に入力を定義したいので、クラス全体がその意味を認識します。

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

しかし、意図したように、動作するようには思えないし、私のプログラムは、すぐに私はメインメソッドに次のメソッドを引っ張るよう崩壊してしまう:

これは私が持っているものです。私はこれを研究してきましたが、私は何をしようとしているのかという答えを理解していません。

誰でも手助けできますか?

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) 

そして、それはで例外を投げ、私のコードの行::ドキュメントが言うようにあなたがScanner.nextInt()を呼んでいる

a = input.nextInt(); 
+0

落書きを定義してください。 – 11thdimension

+0

ビルドが停止し、最初に入力を呼び出すところで例外がスローされます – Moira

+1

その後、あなたの質問に例外を投稿してください。 – 11thdimension

答えて

0

要求されたよう

は、ここで私は取得しています例外です次の入力が整数リテラルでない場合は、InputMismatchExceptionをスローします。

入力が整数であることを確認する必要があります。入力が整数であると予想されない場合は、適切なメソッドScannerを使用する必要があります。

クラス間の入力を共有するために、クラスの変数public staticに割り当てることができます。

関連する問題