Java 防止递归函数导致;“禁止入内”;错误
我一直在做一个程序来计算输入文本中的元音。它使用此方法在每次发现元音时递归地添加元音计数。但是,每当Java 防止递归函数导致;“禁止入内”;错误,java,Java,我一直在做一个程序来计算输入文本中的元音。它使用此方法在每次发现元音时递归地添加元音计数。但是,每当lastPos达到负1时,我就会得到一个越界错误。当lastPos达到-1时,如何停止此操作 static int R_countVowels(String s, int lastPos) { switch (s.charAt(lastPos)) { case 'a': case 'A': case 'e': case 'E':
lastPos
达到负1时,我就会得到一个越界错误。当lastPos
达到-1时,如何停止此操作
static int R_countVowels(String s, int lastPos)
{
switch (s.charAt(lastPos))
{ case 'a': case 'A':
case 'e': case 'E':
case 'i': case 'I':
case 'o': case 'O':
case 'u': case 'U': return (1 + R_countVowels(s, --lastPos));
default: return R_countVowels(s, --lastPos);
}
}
我假设这是作业,所以没有代码
递归函数需要一个。您需要定义基本大小写,以便为空输入返回0(无元音),并在归纳步骤(递归调用)之前检查基本大小写。我假设这是作业,因此没有代码
递归函数需要一个。您需要定义基本大小写,以便为空输入返回0(无元音),并在归纳步骤(递归调用)之前检查基本大小写。在
开关()之前插入if
:
if(lastpos<0){
//停止递归
}
在开关()之前插入if
:
if(lastpos<0){
//停止递归
}
通过添加一些代码来检查lastPos
的值。如果这是作业,请在你的问题中添加“家庭作业”标记。通过添加一些代码来检查lastPos
的值。如果这是作业,请在你的问题中添加“家庭作业”标记。谢谢,这帮了大忙。我只使用了return0;还不够,还可以抛出IndexOutOfBoundsException
谢谢,这帮了大忙。我只使用了return0;停止。还不够,仍然可以抛出IndexOutOfBoundsException
if (lastpos < 0) {
// stop the recursion
}