如何计算字符串中数字的连续和?

时间:2019-05-29 15:16:30

标签: java

我想找到字符串中整数的总和。例如:

String myString= "The price is 345and the tax1 is 12sales";
String output = "The price is 12and the tax1 is 3sales";

我发现很少有方法无法按照我需要的方式显示最终输出。

int sum = 0;
for (int I =0; i < myString.lengh(); i++)
{
   char c = myString.charAt(i);
   if(Character.isDigit(c))
   {
      int value = Integer.parseInt(String.valueOf(c));
   }
}

我得到的总和是,但我希望能够在字符串后附加各个和。     输出=“价格为12,税收1为3”

2 个答案:

答案 0 :(得分:1)

我正在使用StringBuilder构建结果字符串。只要遇到数字,就必须继续添加数字。遇到字符时,必须附加手头的总和(如果有),然后附加字符。

注意:如果总和可以为0(并且需要进行调整以支持该值),则此方法将无效。

int sum = 0;
StringBuilder builder = new StringBuilder();
for (int i = 0; i < myString.length(); i++)
{
    char c = myString.charAt(i);
    if(Character.isDigit(c))
    {
        sum += Integer.parseInt(String.valueOf(c));
    } else {
        if (sum != 0) {
            builder.append(sum);
        }
        builder.append(c);
        sum = 0; //reset
    }
}

答案 1 :(得分:0)

添加一条if语句,检查下一个字符是否为数字,如果是数字,则添加它,否则就可以完成并打印出来。 但是,您的输入是非常不寻常的,您确定无法改善输入本身吗?