Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Warum läuft das Programm nicht(bzw. nicht richtig)
Aufgabenstellung ist folgende :
Kinder spielen gerne das B-Sprachen-Spiel. Die B-Sprache funktioniert so, dass an jeden Vokal (a,e,i,o,u) eines Wortes ein b plus die Wiederholung des Vokals angefügt wird.
Schreiben Sie eine Methode namens spielen, die ein normales Wort entgegennimmt (Parameterdatentyp: String) und in ein Wort der B-Sprache übersetzt und dieses zurückgibt.
Beispiel:
übergebene Zeichenfolge: spiel mit mir zurückgelieferte Zeichenfolge: spibiebel mibit mibir
Wo ist denn in meinem Programm der Fehler ? Wenn ich beispielsweise "hi" eingebe schmeisst mir die Konsole "hihi" raus, also passt hier anscheinend alles so weit. Wenn ich aber z.B "hallo" eingebe, kommt nur eine Fehlermeldung. Ich hab keine Ahnung wo der der Fehler ist, würde mich freuen, wenn jemand helfen könnte.
Wo ist denn in "hihi" das b? Ich meine es passt noch gar nichts. Verwende bitte Code-Tags (ganz oben links) </> und lass die Leerzeilen weitesgehend weg.
Spiel es doch auf einem Zettel einmal durch. Prüfe dabei:
a) wie verändert sich das q? In dem Schleifenkopf wird es um 1 erhöht und wenn du 2 Buchstaben hinzu fügst: Um was ist q dann noch zu ändern?
b) Wenn ein if zutrifft: Sind die weiteren Prüfungen denn dann noch ok? Wie kannst Du verhindern, dass er nach ausführen eines ifs noch weitere prüft?
Und dann vielleicht noch einmal die Frage: Wie unterscheiden sich denn die Tätigkeiten, die in den if Blöcken stehen? Wie kann man das zusammen fassen?
Spiel es doch auf einem Zettel einmal durch. Prüfe dabei:
a) wie verändert sich das q? In dem Schleifenkopf wird es um 1 erhöht und wenn du 2 Buchstaben hinzu fügst: Um was ist q dann noch zu ändern?
b) Wenn ein if zutrifft: Sind die weiteren Prüfungen denn dann noch ok? Wie kannst Du verhindern, dass er nach ausführen eines ifs noch weitere prüft?
Und dann vielleicht noch einmal die Frage: Wie unterscheiden sich denn die Tätigkeiten, die in den if Blöcken stehen? Wie kann man das zusammen fassen?
Übrigens ist der Code wesentlich besser lesbar wenn du ihn in Code Tags packst (im Editor das </> Zeichen, da draufklicken, code eingeben, okay drücken).
So muss man ewig scrollen um den Code überhaupt überfliegen zu können.
Ansosnten blicke ich noch nicht so ganz durch was bei dir xxx, yyy udn Co. sind.
Aber das Grundsätzliche Vorgehen sollte recht simpel sein:
Gehe alle chars im String durch.
Falls jener Char ein Vokal ist, ersetzt du ihn durch den char+b+char.
Kannst ja einen neuen Ergebnis string bauen, bei dem du, wenn im alten string bspw ein e kommt, du im ergebnisstring ein ebe anhängst.
Ansonsten, rein code technisch, wäre es vll. sinnvoll hier mit switch case zu arbeiten.
sind ja nur 5 cases (aeiou). und ist es eben kein vokal, dann wird der (leer zu lassende) default case benutzt.