0

私はJavaは初めてですが、C++を知っているのでプログラミングは初めてです。

整数または文字列形式のいずれかでユーザーから入力を取得しようとしていますが、プログラムを実行すると、プログラムは静止し、Enterキーを押すまで何もしません。「Enter」を押した後の私のプログラムと結果が表示されます。

私の質問は、「なぜユーザー入力が得られないのですか?」 です。

    import java.util.Scanner;

    class roomarea
    {
        public static void main(String[] args)
        {
            Scanner scanner = new Scanner(System.in);
            int input = scanner.nextInt();
            System.out.println("Enterd value is " + input);
        }
    }  

結果は

Start Running math >Command: "C:\Program Files\Java\jdk1.6.0\bin\java.exe"    
-classpath "C:\Documents and Settings\Ahmad Abdullah\My Documents\NaviCoder IDE for    
Java\projects\math\output\classes";"C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar";    
roomarea 

Exception in thread "main" java.util.InputMismatchException at
    java.util.Scanner.throwFor(Scanner.java:840)    at    
    java.util.Scanner.next(Scanner.java:1461)   at    
    java.util.Scanner.nextInt(Scanner.java:2091)    at    
    java.util.Scanner.nextInt(Scanner.java:2050)    at 
    roomarea.main(Main.java:14)  >Run

プロセスが完了しました

4

2 に答える 2

2

「ただ静止していて、Enter キーを押すまで何もしません」と言うと、まさにあなたが言ったことを実行しています - あなたが入力するのを待っていますint. Enter キーを押すだけでは入力がなかったことを意味し、スキャナーが として解釈できなかったintため、例外が発生しました。

整数を入力してエンターキーを押すと、プログラムが動作するはずです。

于 2013-02-20T14:45:30.547 に答える
0

入力としてを入力すると、プログラムが機能するはずですint。(プログラムを「待機」しているときに押すEnterと、話している例外が発生する可能性があります)。

たとえば、charを入力すると、InputMismatchException例外が発生します。

スキャナーによってスローされ、取得されたトークンが期待されるタイプのパターンと一致しないこと、またはトークンが期待されるタイプの範囲外であることを示します。

于 2013-02-20T14:44:59.593 に答える