使用Java扫描程序从文本文件中读取Long类型时遇到问题

时间:2010-09-03 15:01:02

标签: java input java.util.scanner

我正在尝试使用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

任何人都知道如何解决这个问题?提前谢谢!

2 个答案:

答案 0 :(得分:3)

3.20e11的双倍。

你应该这样做:

strLine =(long)in.nextDouble();

答案 1 :(得分:1)

它认为3.20e11是双倍的,这就是输入不匹配的原因。尝试输入为320000000000,它将起作用。