我正在尝试使用Java中的Scanner从文本文件中读取长类型。我收到以下错误:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextLong(Scanner.java:2196)
at java.util.Scanner.nextLong(Scanner.java:2156)
at Project.main(Project.java:119)
与此相关:
strLine = (long) in.nextLong();
如果我在in.next()中它会工作,但我需要将信息存储为long,而不是String。它在阅读时生气的确切数字是:3.20e11
任何人都知道如何解决这个问题?提前谢谢!
答案 0 :(得分:3)
3.20e11的双倍。
你应该这样做:
strLine =(long)in.nextDouble();
答案 1 :(得分:1)
它认为3.20e11是双倍的,这就是输入不匹配的原因。尝试输入为320000000000,它将起作用。