0

error message出力から取得し続けます

Exception in thread "main java.util.InputMismatchException        

    at java.util.Scanner.throwFor(Unknown Source)
    at java.util.Scanner.next(Unknown Source)
    at java.util.Scanner.nextDouble(Unknown Source)
    at test1.TC1.main(TC1.java:11)

しかし、上部にはエラーはありません

package test1;

import java.util.Scanner;

public class TC1 {

    public static void main(String[] args){
        double name, age, answer;
        Scanner IN = new Scanner (System.in);
        System.out.println("Whats yor name?");
        name = IN.nextDouble();
        System.out.println("How old are you?");
        age = IN.nextDouble();
        answer = age + name;
        System.out.println(answer);
    }
}
4

3 に答える 3

1

name実際には double 型の変数です。しかし、文字列型である必要がある名前を求めている可能性があります。

名前の種類を変えて使う name = IN.nextLine();

于 2013-09-14T14:04:05.067 に答える
0

この例外は、数値以外の入力を行うとスローされます。

あなたの場合、namedoubleとして宣言しました。Travis や Lita など、数値以外の値を入力していると確信しています:)

したがって、名前を文字列として宣言して IN.next() を使用するか、数値を入力してみてください:)

于 2015-09-30T12:39:54.050 に答える
0

これを試して:

変数のタイプを のString代わりに変更doubleし、使用しますScanner.next()

public class TC1 {

    public static void main(String[] args){
        String name, age, answer;
        Scanner IN = new Scanner (System.in);
        System.out.println("Whats yor name?");
        name = IN.next();
        System.out.println("How old are you?");
        age = IN.next();
        answer = age + name;
        System.out.println(answer);
    }
}
于 2013-09-14T14:08:18.500 に答える