wie kann ich die Position des letzten Vokals innerhalb einer Zeichenkette ermitteln?

FS123

Neues Mitglied
Hallo,
wie kann ich die Position des letzten Vokals innerhalb einer Zeichenkette ermitteln?
Es soll dabei zum Lesen von Zeichen nur die Methode charAt genutzt werden.

Vielen Dank!
 
Gehe den Strings doch in einer Schleife Buchstabe für Buchstabe durch. Teste ob es ein Vokal ist wenn ja merke dir die pos. Wenn du am Ende des String bist hast du die letzte pos.
 
Gehe den Strings doch in einer Schleife Buchstabe für Buchstabe durch. Teste ob es ein Vokal ist wenn ja merke dir die pos. Wenn du am Ende des String bist hast du die letzte pos.
Ich habe innerhalb einer Switch Case Abfrage (mit lastIndexOf), für jeden einzelnen Vokal die letzte Position abgefragt.
Muss ich nun mit einer If-Abfrage den höchsten Index abfragen um die letzte Position der Vokale zu ermitteln?

1656511340219.png
 
Wenn du in einer der case kommst merkst du dir die pos in einer Variablen außerhslb der for Schleife.
Du kannst ja auch ein case für a e i o u machen dann merken und break.

Noch mal abfragen brauchst sollst du ja auch nicht. Du darfst ja nur die eine String Methode verwenden so ist doch deine Aufgabe.
 
Wenn du lastIndexOf verwenden willst, brauchst du keine Schleife.
Dann nimm einfach den größten Wert der 5 Ergebnisse.
Ansonsten fang von hinten an zu zählen und stoppe beim ersten gefundenen Vokal

Java:
for (y = s.lenght()-1; y>=0; y--) {
  switch (s.charAt(y)) {
    case 'a': case'e': case'i': case'o': case'u': {
      return y;
  }
}

return -1;

Anstatt dem Switch kann man auch direkt mit einem String vergleichen
String vocals ="aeiouAEIOU";

isVocal = vocals.contains(mychar);
 

Zurück
Oben