Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“线程中的异常”;“主要”;java.util.InputMismatchException错误_Java - Fatal编程技术网

“线程中的异常”;“主要”;java.util.InputMismatchException错误

“线程中的异常”;“主要”;java.util.InputMismatchException错误,java,Java,我相信我写的所有代码都是正确的,但我遇到了这个错误,有人能帮我理解: Exception in thread "main" java.util.InputMismatchException at java.base/java.util.Scanner.throwFor(Scanner.java:939) at java.base/java.util.Scanner.next(Scanner.java:1594) at java.base/java.util.Scanner.nextDouble(

我相信我写的所有代码都是正确的,但我遇到了这个错误,有人能帮我理解:

Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextDouble(Scanner.java:2564)
at gangPackage.newClass.main(newClass.java:15)
这是我的密码:

package gangPackage;
import java.util.*;
public class newClass {
    public static void main (String[] args) {
        Scanner Scan = new Scanner(System.in);
        String name;
        int age;
        double gpa;

        System.out.println("Enter your name: ");
        name = Scan.nextLine();
        System.out.println("Enter students age: ");
        age = Scan.nextInt();
        System.out.println("Enter your GPA: ");
        gpa = Scan.nextDouble();


        System.out.printf(name + " is " + age + " years old. And has a GPA of " + gpa);
    }
}
你的代码看起来不错

当给定的输入与预期的输入格式不匹配时,
扫描仪中会出现
输入不匹配异常。您的异常发生在第15行,扫描仪需要一个十进制数,如
3.14
(根据您的系统的区域设置,十进制数可以用点
或逗号
!)表示)

如果您确定所提供的输入绝对是十进制数,但不确定所使用的语言环境,则可以使用
useLocale
方法强制使用特定的语言环境

Scanner Scan = new Scanner(System.in).useLocale(Locale.US);

你的输入是什么?你的代码是正确的。我认为GPA期间的输入(第15行,如错误所示)不是双重格式,可能您输入了一个非数字input@Mark我的输入是:Hotam代表19岁的年龄,3.9代表GPA,当我在GPA中输入一个数字时,它运行良好。甚至在末尾添加一个0例如,如果我放3,它将打印3.0我想你需要添加一些代码来检查输入。尝试使用Scanner.hasNext…()方法。我用您的输入执行了您的代码。工作正常,没有错误。非常感谢!当我用逗号代替圆点时,它起作用了。再次感谢你