Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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程序中获得InputMismatchException?_Java_Exception_Input_Type Mismatch - Fatal编程技术网

为什么要在这个基本Java程序中获得InputMismatchException?

为什么要在这个基本Java程序中获得InputMismatchException?,java,exception,input,type-mismatch,Java,Exception,Input,Type Mismatch,nextInt不会吞下保留在缓冲区中的行尾。因此,当您点击1enter时,1被读入第一个分数,然后第二个名称被设置为空字符串 然后解析器尝试将second解释为int,引发异常 您需要在readInt之后丢弃当前行。您可以建议任何方便的方法来丢弃readInt之后的当前行吗?提示:事实上,您在阅读第二个名称时已经这样做了(第二个提示:确保您注释了“丢弃其余行”,否则它可能看起来可疑/奇怪,并使阅读代码的人感到困惑。)再次感谢。否则,过一段时间,我可能也会感到困惑:) String[] names

nextInt
不会吞下保留在缓冲区中的行尾。因此,当您点击1enter时,
1
被读入第一个
分数
,然后第二个
名称
被设置为空字符串

然后解析器尝试将
second
解释为
int
,引发异常


您需要在
readInt

之后丢弃当前行。您可以建议任何方便的方法来丢弃
readInt
之后的当前行吗?提示:事实上,您在阅读第二个
名称时已经这样做了(第二个提示:确保您注释了“丢弃其余行”,否则它可能看起来可疑/奇怪,并使阅读代码的人感到困惑。)再次感谢。否则,过一段时间,我可能也会感到困惑:)
String[] names=new String[4];
int[] scores=new int[4];
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter 4 strings and integers:");
for(int i=0;i<4;i++){
  names[i]=keyboard.nextLine();
  scores[i]= keyboard.nextInt();
}
Enter 4 strings and integers:
first
1
second
Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:909)
    at java.util.Scanner.next(Scanner.java:1530)
    at java.util.Scanner.nextInt(Scanner.java:2160)
    at java.util.Scanner.nextInt(Scanner.java:2119)
    at Q2.main(Q2.java:15)
Java Result: 1