我正在编写一个 groovy 程序。我有如下输出
red 5green 5blue 10white 15
我想总结输出中的数字。总和为 35
我写了下面的逻辑,但是程序返回了 17,这是正确的,因为下面的逻辑考虑了数字。
你能指导我如何让程序理解两位数吗?以便我得到正确的金额?
for (int i =0; i < output.length(); i++)
{
{
sum=sum+Character.getNumericValue(grps.charAt(i))
}
}
谢谢
最佳答案
因为你也标记了 [groovy]:
您可以使用正则表达式 /\d+/
“查找”字符串中的所有数字字符串,将它们全部转换为数字,最后将它们sum()
。例如
def sumNumberStrings(s) {
s.findAll(/\d+/)*.toLong().sum()
}
assert 35==sumNumberStrings("red 5green 5blue 10white 15")
关于java - 计算字符列表中的两位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53688353/