E questa è la mia (da mettere in una classe, chiaramente, omessa per brevità):

codice:
public static String vocaliMaiuscole(String s) {
    if (s == null || s.length() == 0) {
        return s;
    }
        
    char c = s.charAt(0);
    return ("aeiou".indexOf(c) != -1 ? Character.toUpperCase(c) : c) + vocaliMaiuscole(s.substring(1));
}
Sì .. tutto qui.