Originariamente inviato da andbin
Come scrittura non è il massimo ma c'è comunque un errore: se inizialmente riceve una stringa vuota ( "" ), passa nel else e il charAt fallisce con eccezione.
l'errore può essere corretto così:
codice:
private final static String vocali = "aeiou";
public static String vocaliMaiuscole (String s) {
String stringa="";
if(s.length()==0){
}else if(s.length() == 1){
stringa+=(vocali.indexOf (s.charAt (0)) != -1) ? (s.charAt (0)+"").toUpperCase () : s.charAt (0);
}else {
stringa+=(vocali.indexOf (s.charAt (0)) != -1) ? (s.charAt (0)+"").toUpperCase () : s.charAt (0);
stringa+=vocaliMaiuscole (s.substring (1));
}
return stringa;
}
Un qualche consiglio su come "migliorare la scrittura" ?