我正在尝试在字符串中生成数字之和。
public int sumNumbers(String str) {
int sum = 0;
for (int i = 0; i < str.length(); i++) {
for (int j = i; j < str.length() - 1; j++) {
if (!Character.isDigit(str.charAt(j))) {
i = j;
break;
} else if (Character.isDigit(str.charAt(j + 1))) {
continue;
}
sum += Integer.parseInt(str.substring(i, j + 1));
}
}
return sum;
}
例如,如果我有sumNumbers("aa11b33")
,则应返回44
。但是,它正在返回11
。
我假设这是因为外部循环由于break
或continue
语句而终止。那是问题吗?如果是这样,我该怎么办?