不确定此代码是否有效?或者是否有其他方式以更简单的方式编写它?
public static String extractVowels(String s, StringBuilder x, int i){
if(i < s.length()){
if(s.charAt(i)== 'a' || s.charAt(i)== 'e' || s.charAt(i)== 'i' ||
s.charAt(i)== 'i' || s.charAt(i)== 'o' || s.charAt(i)== 'u'){
x = new StringBuilder(s);
return extractVowels(s,x.deleteCharAt(i), i+1);
}
}
return null;
}
答案 0 :(得分:2)
假设您正在将此作为练习递归的学习练习,您需要考虑以下内容:
StringBuilder
英文描述比Java代码长很多:
public static String extractVowels(String s) {
if (s.length() == 0) {
return s;
}
char c = s.charAt(0);
if (c == 'a' || c == 'e' || ...) {
return extractVowels(s.substring(1));
} else {
return c+extractVowels(s.substring(1));
}
}