Hey, ich wollte als Übung ein kleines Programm in Java schreiben, bei dem man eine beliebige Zeichenfolge eingibt, und dann geprüft wird, wie oft ein e, a, i, o und u darin vorkommt. Allerdings bekomme ich eine Fehlermeldung bei der ich nicht verstehe, was damit gemeint ist.
(Wenn ich in Zeile 17 statt dem i eine Zahl eingebe funktioniert es)
Fehlermeldung:
(Wenn ich in Zeile 17 statt dem i eine Zahl eingebe funktioniert es)
Java:
package uebung07;
import javax.swing.JOptionPane;
public class Vokalzaehler {
public static void main(String[] args) {
String eingabe = JOptionPane.showInputDialog("");
eingabe = eingabe.toLowerCase();
int i = 1;
int einLen = eingabe.length();
int zaehlerE = 0;
int zaehlerA = 0;
int zaehlerI = 0;
int zaehlerO = 0;
int zaehlerU = 0;
while (i <= einLen) {
switch (eingabe.charAt(i)) {
case 'e': zaehlerE++;
case 'a': zaehlerA++;
case 'i': zaehlerI++;
case 'o': zaehlerO++;
case 'u': zaehlerU++;
}
i++;
}
System.out.println("e: " + zaehlerE);
System.out.println("e: " + zaehlerA);
System.out.println("e: " + zaehlerI);
System.out.println("e: " + zaehlerO);
System.out.println("e: " + zaehlerU);
}
}
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 9
at java.lang.String.charAt(Unknown Source)
at uebung07.Vokalzaehler.main(Vokalzaehler.java:17)