方法1: 文字列を逆にして最初に見つかった母音を取得する方法
public static char getLastVowel(String str) {
str = str.toLowerCase(); // 文字列を小文字に変換する
// 文字列を逆にする
StringBuilder reversed = new StringBuilder();
reversed.append(str);
reversed = reversed.reverse();
// 最初に見つかった母音を取得する
for (int i = 0; i < reversed.length(); i++) {
char c = reversed.charAt(i);
if (isVowel(c)) {
return c;
}
}
return '\0'; // 母音が見つからなかった場合はnull文字を返す
}
public static boolean isVowel(char c) {
return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
}
方法2: 文字列を後ろから走査して最初に見つかった母音を取得する方法
public static char getLastVowel(String str) {
str = str.toLowerCase(); // 文字列を小文字に変換する
// 文字列を後ろから走査して最初に見つかった母音を取得する
for (int i = str.length() - 1; i >= 0; i--) {
char c = str.charAt(i);
if (isVowel(c)) {
return c;
}
}
return '\0'; // 母音が見つからなかった場合はnull文字を返す
}
public static boolean isVowel(char c) {
return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
}
これらの例では、与えられた文字列を小文字に変換し、最後の母音を見つけるために文字列を逆にしたり後ろから走査したりしています。isVowelメソッドは、文字が母音かどうかを判定します。