带数字的字符串会添加Java

时间:2015-04-27 12:04:27

标签: java string

我收到一个包含数字的字符串,

例如: - pointer

这是分隔每个数字并将它们加在一起的最佳方法吗?

示例总计123312351863

8 个答案:

答案 0 :(得分:5)

我不会给你确切答案

  
      
  1. 使用Integer.parseInt()Long.parseLong()将整个String解析为整数。基于适当的尺寸
  2.   
  3. 您可以使用以下2个运算符添加每个数字 - > /%
  4.   
  5. 您还需要一个while循环。
  6.   

注意:对于非常大的数字或者数字以0开头,此方法会失败。你确实可以使用charAt() +其他一些字符串方法来实现。

答案 1 :(得分:3)

public class Simple {
    public static void main(String `args`[]){  
        String str = "123456789";
        Integer total = 0;
        for (Character eachNumber : str.toCharArray()) {
            total += Integer.parseInt(eachNumber.toString());
        }
        System.out.println(total);
    }
}

答案 2 :(得分:1)

Java 8中的一个简短方法:

String s = "123312351863";
int sum = s.chars().map(Character::getNumericValue).sum();

答案 3 :(得分:0)

试试这样:

int res = 0;
String s= "123312351863";

for (int i = 0; i < s.length(); i++) 
{
    String str= ""+s.charAt(i);
    int b =  Integer.parseInt(str);
    res = res + b;
}

System.out.println(res);

答案 4 :(得分:0)

您可以先使用String.split("")将字符串拆分为单个字符(注意它会在java8版本之前的开头给出一个空字符串)

然后,迭代String[]parse each number to int,并将它们相加

答案 5 :(得分:0)

您可以将字符串拆分为&#34;&#34; ,然后将每个字符串转换为Integer并对数字求和。例如。在java 8中

 System.out.println(Stream.of(s).map(x -> x.split("")).flatMap(Arrays::stream).mapToInt(Integer::parseInt).sum());

输出

38

答案 6 :(得分:0)

您也可以

  1. 使用loopchatAt()迭代字符串的字符。
  2. 使用Character.getNumericValue(yourChar)将字符转换为int值。
  3. 然后总结int值。

答案 7 :(得分:-1)

我会尝试如下

public static void main(String args[])
{
    String x="123312351863";
    String r[]=x.split("");int sum=0;
    for(int i=1;i<=x.length();i++)
    {

        sum+=Integer.parseInt(r[i]);
    }
    System.out.println(sum);
}