gpt4 book ai didi

java - 关于在 Java 中使用递归计算元音的说明

转载 作者:行者123 更新时间:2023-11-30 03:13:04 24 4
gpt4 key购买 nike

我需要澄清我的一个家庭作业问题;正如它所说的“实现一个递归方法来计数并返回给定字符串中小写元音的总数”为了更容易,假设有一个帮助方法(让我们称之为 isVowel(ch )) 如果给定字符是小写元音,则返回 true,否则返回 false。

所以:如果字符是小写元音,isVowel(ch) 返回 true,否则返回 false

因此,对于它提出的第一个问题,确定合适的停止情况:

public static int cVowels (String s)
if (s.length() == 0) {
return 0;
}
}

这是正确的吗?

下一个问题要求递归地实现该方法并创建返回给定字符串中小写元音数量的代码。这是我们假设有一个帮助方法 isVowel(ch) 的地方。 (有点卡在这里)

public static int cVowels (String s) {
if (s.length() == 0) {
return 0;
} else {
int counter = cVowels(s.substring(1));
if (isVowel(s.charAt(0)) == true) {
return 1+counter;
} else
return counter;
}
}
}

有人可以澄清代码是否确实正确吗?如果不是,问题出在哪里?由于假定的辅助方法而无法对其进行测试。

谢谢

最佳答案

回答你的问题逻辑看起来很合理。这不是我解决问题的方式,但看起来它仍然有效。您实质上是在从字符串末尾向左移动到开头检查元音,但无论您的船是否漂浮,都可以。

您可以轻松编写一个辅助方法来测试这一点,对于学习基本概念的初学者来说,它应该看起来像这样:

public static boolean isVowel (char ch) {
if (ch=='a' ||
ch=='e' ||
ch=='i' ||
ch=='o' ||
ch=='u')
{
return true;
} else{
return false;
}
}

关于java - 关于在 Java 中使用递归计算元音的说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33239040/

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