gpt4 book ai didi

java - 防止递归函数导致 "out of bounds"错误

转载 作者:行者123 更新时间:2023-12-01 17:31:32 24 4
gpt4 key购买 nike

我一直在开发一个程序来计算输入文本中的元音。每次找到元音时,它都会使用此方法递归地添加元音计数。但是,每次 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);
}
}

最佳答案

我假设这是家庭作业,所以没有代码。

递归函数需要 base case 。您需要将基本情况定义为对于空输入返回 0(无元音),并在归纳步骤(递归调用)之前检查基本情况。

关于java - 防止递归函数导致 "out of bounds"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com