Java基础——Scanner扫描字符数组出现问题

Posted JUNTony

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础——Scanner扫描字符数组出现问题相关的知识,希望对你有一定的参考价值。

问题:今天写的一个简易学生信息类出现了如下问题Exception in thread "main" java.util.InputMismatchException: For input string: "9631201209080125"
at java.base/java.util.Scanner.nextInt(Scanner.java:2264)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at Main.main(Main.java:18)
最初的字符串初始为 String str="31201209080123 张爱玲 女 22 计算机 98"+
"31201209080124 王阳明 男 23 软件工程 96"+
"31201209080125 李斯克 男 21 物联网 95"+
"31201209080126 黄莺玲 女 20 信息安全 98"+
"31201209080127 陈皮张 男 22 计算机 92"+
"31201209080128 刘海林 女 21 物联网 91";
最后发现的问题是字符串的不同信息之间必须要有空格:
String str="31201209080123 张爱玲 女 22 计算机 98 "+
"31201209080124 王阳明 男 23 软件工程 96 "+
"31201209080125 李斯克 男 21 物联网 95 "+
"31201209080126 黄莺玲 女 20 信息安全 98 "+
"31201209080127 陈皮张 男 22 计算机 92 "+
"31201209080128 刘海林 女 21 物联网 91";
因为在使用Scanner扫描器时.next()函数会自动扫描到下一个位置的空格为止,因此在成绩后面再加空格就解决了。

以上是关于Java基础——Scanner扫描字符数组出现问题的主要内容,如果未能解决你的问题,请参考以下文章

java核心学习 java基础类库之Scanner

java Scanner类的nextInt()方法在循环中无法停止的问题

Java中用Scanner扫描控制台输入时的一个小问题

Java - IO 扫描流:Scanner

如何从java控制台获得用户输入?

如何从java控制台获得用户输入?