gpt4 book ai didi

java - 从文件中读取 boolean 变量

转载 作者:行者123 更新时间:2023-12-01 22:48:34 25 4
gpt4 key购买 nike

我当前正在开发的程序应该使用从文件读取的输入来创建一系列三角形。文件中的信息是double类型的3面、String类型的color、boolean类型的filled。正是这个 boolean 变量给我带来了一些问题。

在文件中,信息的布局如下:

1.0 1.5 1.0 yellow  T
3.0 4.0 5.0 blue F

其中 T 代表 True(是的,该对象已填充),F 代表 false(否,该对象未填充),但我在让计算机识别这一点时遇到了一些麻烦。现在我正在使用while 循环遍历代码并将每个值分配给相应的变量,如下所示:

while (fin.hasNext()) {
double side1 = fin.nextDouble();
double side2 = fin.nextDouble();
double side3 = fin.nextDouble();
String color = fin.next();
boolean filled = fin.nextBoolean();
Triangle triangle = new Triangle(side1, side2, side3, color, filled);
System.out.println(triangle);
}
fin.close();

但正如本文所写,我在第 14 行收到一个 InputMismatchException 错误:

boolean filled = fin.nextBoolean();

如何编写填充变量,让程序知道 T 为 true,F 为 false?

这个特定程序有更多的代码,但由于这是我目前出现问题的地方,我认为只发布这部分代码会更简单。如果拥有完整代码有帮助,请告诉我,我可以添加它。

最佳答案

问题:

fin.nextBoolean();

它只接受字符串“true”作为 true,“false”作为 false,从而给你 InputMismatchException

解决方案:

将文件中的 T 更改为“true”,将 T 更改为“false”

boolean读取为string并使用equals方法检查它是真还是假

 String bool = fin.next();
boolean filled;
if(bool.equals("T"))
filled = true;
else
filled = false;

关于java - 从文件中读取 boolean 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25026601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com