gpt4 book ai didi

java - 递归元音计数器

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

所以我被要求用java编写一个递归元音计数器,我基本上写了2个非常相似的代码,但我想知道如果我将一个字符串与由元音组成的字符串进行比较,我如何计算元音?

我的2个代码:

public static int vowels(String s) {

if (s.length() == 0 || s == null) {
return 0;
} else if (s.charAt(0) == 'a' || s.charAt(0) == 'i' || s.charAt(0) == 'e' || s.charAt(0) == 'o' || s.charAt(0) == 'u') {
return 1 + vowels(s.substring(1));
} else {
return vowels(s.substring(1));
}
}

第二个:较长,但与上一个基本相同

public static int vowels(String s) {

if(s.length() ==0){
return 0;
}
} else if (s.charAt(0) == 'i') {
return 1 + vowels(s.substring(1));
} else if (s.charAt(0) == 'o') {
return 1 + vowels(s.substring(1));
} else if (s.charAt(0) == 'u') {
return 1 + vowels(s.substring(1));
} else if (s.charAt(0) == 'e') {
return 1 + vowels(s.substring(1));
} else if (s.charAt(0) == 'a') {
return 1 + vowels(s.substring(1));
} else {
return 0 + vowels(s.substring(1));
}
}

最佳答案

您可以更改s.charAt(0) == 'a' || s.charAt(0) == 'i' || ..."iouea".contains(Character.toString(s.charAt(0))) - 这似乎是您问题的答案。
但因为您应该假设输入字符串 s 也包含大写元音 ('A'),所以您应该使用 s = s.toLowerCase()< 将 s 变为小写 在方法开头。这样您将使您的代码更简单。
UPD:有一个错误。将代码更改为 Character.toString

关于java - 递归元音计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19384340/

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