在尝试修复代码中的某些行时,我陷入了死胡同。
任务是编写一个递归函数,该函数接受一个字符串并计算其中数字的总和。
例如 -
input - "5a-f5-11"
output- The numbers are 5, 5 and 11, therefore the sum is 21.
此任务中的问题是对多于一位数的数字求和。(在我们的例子中是 11 个)
我没有计划使用 Char 数组或任何东西,但是在某些行中使用字符串使它变得困难。
我的代码到目前为止还没有编译,但我确信逻辑在正确的位置——(我做了一个辅助函数,这意味着它不是最终函数,而是它做的主要工作)。
public static int sumNumbersInText(String str, int i, String subStr, int sum) {
if(str.length() >= i) return sum;
char[] array = new char[str.length()];
str.getChars(0, str.length(), array, 0);
char oneStr = array[i];
String newSubStr = subStr;
if(Character.isDigit(oneStr)); //if the new index is not a number and the index before IS a number>
{
if(Character.isDigit(subStr));// new index IS a number, therefore will sum up.
{
int num = 0;
sum+=num;
newSubStr = "";
}
}
else
{
newSubStr += oneStr;
}
return sumNumbersInText(str, i+1, subStr, sum);
}
慕后森
婷婷同学_
潇湘沐
相关分类