Edit: Problem gelöst.
Ich habe nun statt der if-Schleife eine while-Schleife benutzt. So werden die nachrückenden Buchstaben ebenfalls gelöscht.
Hey,
Ich hätte eine kleine Frage. Ich hab ein kleines Programm geschrieben, dass alle Vokale aus einem eingegebenen Text löschen soll. Mein Programm sieht folgendermaßen aus:
import javax.swing.JOptionPane;
public class Vokalloescher {
public static void main(String[] args) {
String eingabe =JOptionPane.showInputDialog("Text");
StringBuilder text =new StringBuilder();
text.append(eingabe);
System.out.println(text);
for(int i=0;i<text.length();i++) {
if(text.charAt(i)=='a' || text.charAt(i)=='e' || text.charAt(i)=='i' ||text.charAt(i)=='u' || text.charAt(i)=='o') {
text.deleteCharAt(i);
}
}
System.out.println(text);
}
}
Mein Problem ist, dass nicht alle Vokale gelöscht werden. Wenn 2 Vokale nebeneinander stehen, bleibt das 2. da.
Beispiel: bei der Eingabe "aeiouaeiouaeiou"
bleibt am Ende "eoaiueo"
Vielen Dank!
Ich habe nun statt der if-Schleife eine while-Schleife benutzt. So werden die nachrückenden Buchstaben ebenfalls gelöscht.
Hey,
Ich hätte eine kleine Frage. Ich hab ein kleines Programm geschrieben, dass alle Vokale aus einem eingegebenen Text löschen soll. Mein Programm sieht folgendermaßen aus:
import javax.swing.JOptionPane;
public class Vokalloescher {
public static void main(String[] args) {
String eingabe =JOptionPane.showInputDialog("Text");
StringBuilder text =new StringBuilder();
text.append(eingabe);
System.out.println(text);
for(int i=0;i<text.length();i++) {
if(text.charAt(i)=='a' || text.charAt(i)=='e' || text.charAt(i)=='i' ||text.charAt(i)=='u' || text.charAt(i)=='o') {
text.deleteCharAt(i);
}
}
System.out.println(text);
}
}
Mein Problem ist, dass nicht alle Vokale gelöscht werden. Wenn 2 Vokale nebeneinander stehen, bleibt das 2. da.
Beispiel: bei der Eingabe "aeiouaeiouaeiou"
bleibt am Ende "eoaiueo"
Vielen Dank!
Zuletzt bearbeitet: