收到以下错误:
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"从文件然后它得到一个错误。此外,我已阅读所有类似的问题,无法找到解决方案,所以请不要将此标记为重复。
答案 0 :(得分:2)
遵循
的模式 int no = Integer.parseInt(file.nextLine());
改变
double price = file.nextDouble();
到
double price = Double.parseDouble (file.nextLine());
如果您只是阅读nextDouble
,那么该行的其余部分仍然是`\ n'然后下一个语句将使用它,但处理将与您的代码不同步