72 addNumbers("12 12 100") -> 124 当我尝试此操作时,-6ren">
gpt4 book ai didi

java - 对分隔字符串中的整数求和

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

给定分隔符String作为输入,将所有数字加在一起。

例如:

addNumbers("12 24 36") -> 72 
addNumbers("12 12 100") -> 124

当我尝试此操作时,出现数字格式异常。

String a="12 34 4 676";
String b=a.replaceAll(" ", "+");
long num=Long.parseLong(a);

最佳答案

是的,因为 12+34+4+676 不是数字,而是表达式。

在 Java 8 中你可以这样做:

final int sum = Stream.of(a.split("\\s")).
mapToInt(Integer::parseInt).
sum();

在 Java 7 中你可以这样做:

int sum = 0;
for (final String s : a.split("\\s")) {
sum += Integer.parseInt(s);
}

OP 的评论:我不想使用数组

我喜欢挑战,所以这里有一个使用扫描仪的解决方案:

final Scanner scanner = new Scanner(a);
int sum = 0;
while(scanner.hasNextInt()) {
sum += scanner.nextInt();
}

关于java - 对分隔字符串中的整数求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22744143/

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