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;
}
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