gpt4 book ai didi

java.util.Scanner 没有产生正确的结果

转载 作者:行者123 更新时间:2023-11-29 06:58:41 24 4
gpt4 key购买 nike

在下面的代码中,如果 coverDate 是“June 16 - June 29, 2014”,那么在 while 循环结束时,日期数组有 [16, 2014]。应该是 [16, 29, 2014]

Scanner scanner = new Scanner(coverDate);
List<Integer> dates = new ArrayList<Integer>();

while(scanner.hasNext()) {
if (scanner.hasNextInt()) {
dates.add(scanner.nextInt());
} else {
scanner.next();
}
}

scanner.close();

有人可以帮助我获得想要的结果吗?

最佳答案

当调用 scanner.hasNextInt() 时,29 与逗号一起被解析,即下一个标记是 29 ,。因此 scanner.hasNextInt() 将返回 false。这是因为分隔符是空格。

解决它的一种 hacky 方法是调整分隔符以包含逗号:

scanner.useDelimiter("[\\p{javaWhitespace}+,]");

关于java.util.Scanner 没有产生正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29683639/

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