字符串示例
131-5923-213
1421-41-4-12-4
1-1
我如何将整数提取到数组中或找到这些整数的和?到目前为止,我的代码
int hyphenCount = socialNum.length()-socialNum.replaceAll("-", "").length();
ArrayList<Integer> sum = new ArrayList<Integer>();
for(int i = 0; i < hyphenCount; i++)
{
//my brain is too small
}
我想做的是创建一个如下所示的函数
public void extractSum(String s)
{
int outputSum;
//stuff
return outputSum;
}
答案 0 :(得分:0)
使用流,您可以执行以下操作:
int sum = Arrays.stream(str.replace("-", "").split("")).mapToInt(Integer::valueOf).sum();
将替换连字符,然后分割每个字符,解析整数,然后返回总和
输出: (对于String
"131-5923-213"
)
30
如果您想要131
+ 5923
+ 213
的总和,则可以执行以下操作:
int sum = Arrays.stream(str.split("-")).mapToInt(Integer::valueOf).sum();
将连字符拆分,解析整数并返回总和
答案 1 :(得分:0)
除了使用流的@GBlodgett's答案之外,您还可以简单地运行for
循环来计算总和。
String string = "131-5923-213";
String[] num = string.split("-"); //<----num[0] = "131" ,num[1]="5923",num[2] = "213"
int hyphenCount = num.length; //<----it would give you 3 as length
int mySum = 0; //initialize the sum as 0
for(int i = 0; i < hyphenCount; i++)
{
mySum+= Integer.parseInt(num[i]); //<---convert the string to an int
}
输出:6267