gpt4 book ai didi

java - 为什么 scan.nextFloat() 不只读取浮点值?

转载 作者:行者123 更新时间:2023-12-02 03:00:08 25 4
gpt4 key购买 nike

我试图从由整数和浮点值组成的文件中仅读取浮点值,但是当我执行 scan.nextFloat() 时,它仍然读取下一个整数值并将其转换为 float 并将其添加到我的点列表中。下面是我正在做的事情。

while(scan.hasNextFloat()) {
points.add(scan.nextFloat());
}

文件中的样本点

3 4

3.3 4 5

2.3 3 3

有没有办法只从文件中读取浮点值,例如 3.3 和 2.3。也不应该 scan.nextFloat() 只读取 float 值而跳过 int 值?

最佳答案

您几乎必须接受 nextFloat 会将 3 这样的数字读取为 3.0。如果您不希望数字是整数,那么只需在读取它们后将其过滤掉即可。 (请参阅其他答案。)但是,如果您想包含“3.0”而不是“3”,那么您必须以字符串形式读取值,并且仅解析具有小数的值:

while (scan.hasNext()) {
String s = scan.next();
if (s.indexOf('.') != -1) {
double d = Double.parseDouble(s);
// do something with d...
}
}

关于java - 为什么 scan.nextFloat() 不只读取浮点值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42474965/

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