Tuesday, January 3, 2012

CodingBat String-3 sumNumbers

It puzzled me a bit so I thought to share this...

public int sumNumbers(String str) {
  int len=str.length(),sum=0,count=0;
  boolean num=false;
  String tmp="";
  for (int i=0;i<len;i++){
    if (Character.isDigit(str.charAt(i))){
      num=false;
      tmp="";
      count=0;
      for (int j=i;j<len;j++){
        if (Character.isDigit(str.charAt(j))){
          count++;
          num=true;
          tmp+=str.charAt(j);
        }
        else{
          if (num) {
            break;
          }
        }
      }
      if (tmp.length()>0){
        i+=count;
        sum+=Integer.parseInt(tmp);
      }
    }
  }
  return sum;
}

No comments:

Post a Comment