转载

javaSE错误之 java.util.InputMismatchException




错误描述:

Exception in thread "main" java.util.InputMismatchException
   at java.util.Scanner.throwFor(Scanner.java:864)
   at java.util.Scanner.next(Scanner.java:1485)
   at java.util.Scanner.nextInt(Scanner.java:2117)
   at java.util.Scanner.nextInt(Scanner.java:2076)
   at niukewang.Main2.init(Main2.java:66)
   at niukewang.Main2.main(Main2.java:30)

错误解决: 引起该错误的原因是由于我们的Scanner读入的字符与我们的变量类型不同导致的:

例如:

    int a = 0;

    a = in.nextDouble();

就会引起该错误的出现。但是需要注意的是,有时候引起该错误的原因很多时候不是显示调用引起的,很多时候是由于没有使用好输入导致的一系列输入错误,如下图:

注意:nextLine()在读入文件时会读取该文件的字符直到读取到换行符为止,而我们在控制台输入时,它会将回车读入而读不到我们想要的字符串。

字符串的正确读取方式:

Scanner in = new Scanner(Syetem.in);

String row = in.next();//读入字符串

row = in.nextLine();//会读入我们的换行符,导致一系列的错误

转载地址:https://blog.csdn.net/hnust_yangjieyu/article/details/84781689

Java
  • 作者:CodeC.C(联系作者)
  • 发表时间:2020-09-02 15:34:56
  • 评论  null  条