只读第一行文件" java.lang.NumberFormatException:"

时间:2016-12-09 05:03:20

标签: java

收到以下错误:

101
Exception in thread "main" java.lang.NumberFormatException: For input string: "false"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)

以下代码。

public static void main(String[] args) throws FileNotFoundException {
    Scanner file = new Scanner(new FileReader("rooms.txt"));

    while(file.hasNext()) {

        int no = Integer.parseInt(file.nextLine());
        System.out.println(no);
        String type = file.nextLine();
        double price = file.nextDouble();
        boolean balcony = Boolean.parseBoolean(file.nextLine());
        boolean lounge = Boolean.parseBoolean(file.nextLine());
    }
}

}

从中读取的文件是:

    101
    Single
    23.50
    false
    false

我不明白什么是错的。它装载了" 101"从文件然后它得到一个错误。此外,我已阅读所有类似的问题,无法找到解决方案,所以请不要将此标记为重复。

1 个答案:

答案 0 :(得分:2)

遵循

的模式
 int no = Integer.parseInt(file.nextLine());

改变

double price = file.nextDouble();

double price = Double.parseDouble (file.nextLine());

如果您只是阅读nextDouble,那么该行的其余部分仍然是`\ n'然后下一个语句将使用它,但处理将与您的代码不同步