为什么会收到InputMismatchException?

问题描述 投票:2回答:1

我用Java创建了一个扫描仪,以读取有关城市的数据文件。该文件的格式如下:

Abbotsford,2310,2
Adams,1967,1
Algoma,3167,2

当阅读文件时,在扫描每行的最后一项时,我得到一个InputMismatchException(该项目必须是一个int值。)>

public void fileScanner(File toScan) throws FileNotFoundException {
            Scanner sc = new Scanner(toScan);
            sc.useDelimiter(",");
            System.out.println(sc.next());
            System.out.println(sc.nextInt());
            System.out.println(sc.nextInt());

关于为什么的任何想法?我以为这与我使用“,”分隔符有关。

我用Java创建了一个扫描仪,以读取有关城市的数据文件。该文件的格式如下:Abbotsford,2310,2 Adams,1967,1 Algoma,3167,2读取文件时,我得到一个...

java file-io java.util.scanner
1个回答
0
投票

您使用的分隔符是逗号(,)系统寻找下一个逗号,仅在Adams之后。因此,系统的输入看起来像2 Adams,它显然不是Int,而是String,因此不是inputMisMatch。

© www.soinside.com 2019 - 2024. All rights reserved.