gpt4 book ai didi

java - Scanner nextInt() 不返回字符串中的所有整数?

转载 作者:行者123 更新时间:2023-11-29 07:55:09 25 4
gpt4 key购买 nike

我有一个字符串 currLine = "0 1435 "3029 ""(1975.92)""72,304"" (字符串中有引号)我想打印出所有的整数当前线。但是使用下面的代码,我只能打印出数字 0。我如何使用 nextInt() 以便打印出所有整数?

        Scanner scanLine = new Scanner(currLine);           
while (scanLine.hasNext()) {
if (scanLine.hasNextInt()) {
System.out.println(scanLine.nextInt());
}
scanLine.next();
}

最佳答案

一旦 Scanner 遇到不是 int 的东西,hasNextInt() 就会返回 false。更不用说您在 while 循环底部使用 scanLine.next() 调用跳过了一些有效的整数。您可以改用 Matcher:

Matcher m = Pattern.compile("\\d+").matcher(currLine);
while (m.find()) {
System.out.println(m.group());
}
01435302919759272304

关于java - Scanner nextInt() 不返回字符串中的所有整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18259468/

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