Zum Inhalt springen

Sprachfehler (war: Java- Programmieraufgabe)


Empfohlene Beiträge

Geschrieben

Guten Tag,

ich brauche Hilfe bei einer Programmieraufgabe.

Urmel aus dem Eis ich benötige dazu ein paar Befehle.

Die Aufgabe lautet Kennen sie Urmel aus dem Eis? In diesen Kinderbuch ......

Die Tiere haben einen Sprachfehler der Piguin kann das "sch" nicht sprechen er sagt immer "pf".

Der Waran sagt statt "z" immer "tsch"

Der Seeelefant wird "i", "ie" und "e" zu "ö","ei" wird zu "eu" und "u" wird zu "o" aber nicht "au". Ein Beispiel:" Ös könntö schön seun, traurögö Lödör zosammön zo söngön"

Sehr komplex da ich für jedes Tier eine Unterklasse machen muss und die Sprachfehler sollen "vernuschelt" auf der Konsole ausgegeben werden.

Ich danke schon mal im Voraus und es sind keine Hausaufgaben.

Geschrieben

Wir haben ein Java-Forum ;)

-> Verschoben.

Da es dort allerdings von "Java- Programmieraufgaben" nur so wimmelt, mache ich den Threadtitel noch ein wenig aussagekräftiger. Beim nächsten Mal bitte selbst dran denken.

Davon abgesehen wäre es hilfreich, wenn du schilderst, wo jetzt konkret das Problem ist. Kannst du Teile von Strings ersetzen?

Geschrieben

Aslo mein Problem besteht darin das ich gerade versuche Aufgabe a

Definieren sie Dazu Unterklassen Pinguin, Waran und SeeElefant, die die Methode SPRECHE passend implementieren d.h. jegliche Texteingabe wird passend zum jeweiligen Tier entsprechend dem jeweiligen SPrachfehler "vernuschelt" auf der Konsole ausgeben.

Aufgabe B.)

Zerlegen sie ihre Lösung in 2 Pakete

Das 1. Paket

Code:

tierschule

soll díe Klassen TitiwuTest

und sprechendes Tier enthalten.

Das 2 Paket soll tiere heißen

dieses soll die Klassen Pinguin

Waran

und SeeElefant umfassen.

Geschrieben

"Das Problem besteht darin, dass du versuchst", und dann wiederholst du die Aufgabenstellung. :confused:

Ist da ein Copy&Paste-Fehler passiert?

Weißt du, wie man eine Klasse anlegt?

Geschrieben

Naja, ich würde sagen, dass man ja so eine Aufgabe bekommt, wenn entsprechenden Wissen vermittelt wurde, außerdem kann man sich ja mal mit Hilfe von Google über die String-Verarbeitung in Java informieren

Phil

Geschrieben

Ja und ich habe aber keine Vorahnung von JAVA.

Jetzt könnt ihr mir richtig helfen ich schreibe euch mal was hin.

text = text.replaceAll("i","ö");

text = Text.replaceAll("e","ö");

text = text.replaceAll("ie","ö");

text = text.replaceAll("ei","eu");

text = text.replaceAll("u","o");

text = text.replaceAll("I","Ö");

text = text.replaceAll("Ie","Ö" );

text = text.replaceAll("E","Ö");

text = text.replaceAll("Ei","Eu");

text = text.replaceAll("U","O");

Er schreibt mir aber nicht das aus was ich will wie kann ich das anders schreiben das es am Ende stimmt?

Geschrieben (bearbeitet)

Du hast Dich darüber informiert was "replaceAll" macht bzw. welche Parameter es erwartet?

String ReplaceAll

Sagt Dir, dass der erste Parameter ein regulärer Ausdruck ist.

Für einzelne Zeichen hilft: String Replace

Du benötigst beides.

Zusätzlich sollst Du das ganze in Klassen kapseln, sprich Du hast eine Klasse "Tier" z.B. mit der Methode "sagt" und nun musst Du eben 3 Klassen davon ableiten, in denen Du die Methode "sagt" überlädst und in der Du dann die Ersetzung des eingegebenen Textes programmierst. Somit spricht ein "Tier" normal und bei den genannten Tieren muss eben eine Stringersetzung erfolgen

Phil

Bearbeitet von flashpixx
Links
Geschrieben
text = text.replaceAll("i","ö");

text = Text.replaceAll("e","ö");

text = text.replaceAll("ie","ö");

Rein logisch betrachtet würde dies ohnehin nur unsinnige Ausgaben provozieren, da "ie" bei vorheriger Ersetzung von "i" und "e" niemals gefunden werden kann.

Geschrieben

Ja abber dann schreibt er mir auf der Konsole ein Doppel Ö aus und das ist FALSCH.

package test;

public class Seeelefant extends SprechendesTier {

public Seeelefant(String name) {

super(name);

}

public String spreche(String text) {

System.out.println(text);

text = text.replaceAll("ie","ö");

text = text.replaceAll("e","ö");

text = text.replaceAll("i","ö");

text = text.replaceAll("ei","eu");

text = text.replaceAll("u","o");

text = text.replaceAll("I","Ö");

text = text.replaceAll("Ie","Ö" );

text = text.replaceAll("E","Ö");

text = text.replaceAll("Ei","Eu");

text = text.replaceAll("U","O");

System.out.println(text);

return text;

Hier mal eine fast ganze Klasse also da fehlen nur noch die Klammern.

Wie kann man das richtig ausgeben?

Geschrieben
Ja abber dann schreibt er mir auf der Konsole ein Doppel Ö aus und das ist FALSCH.

Nö, vollkommen logisch.

Du ersetzt bei IE erst I durch Ö: ÖE

Dann ersetzt du bei ÖE das E durch Ö: ÖÖ

Geschrieben

ok das wäre erledigt jetzt stimmt nur noch eins nicht.

er schreibt von Sein - Söön FALSCH (schreibt mir aus!!!!)

Sein - seun RICHTIG

Wie behebe ich den Fehler???????

Geschrieben

package test;

public class Seeelefant extends SprechendesTier {

public Seeelefant(String name) {

super(name);

}

public String spreche(String text) {

System.out.println(text);

text = text.replaceAll("ie","ö");

text = text.replaceAll("e","ö");

text = text.replaceAll("i","ö");

text = text.replaceAll("ei","eu");

text = text.replaceAll("u","o");

text = text.replaceAll("I","Ö");

text = text.replaceAll("Ie","Ö" );

text = text.replaceAll("E","Ö");

text = text.replaceAll("Ei","Eu");

text = text.replaceAll("U","O");

System.out.println(text);

return text;

So mache ich das.

Kannst du mir helfen???

Geschrieben
So mache ich das.

Kannst du mir helfen???

Satzzeichen sind keine Rudeltiere. :rolleyes:

Du machst genau den gleichen Fehler wie ich ihn dir oben erklärt habe.

EI soll EU werden, du ersetzt aber vorher schon E durch Ö und I durch Ö.

Wo soll dann die Ersetzung EI noch was finden?

Geschrieben
Nö, vollkommen logisch.

Du ersetzt bei IE erst I durch Ö: ÖE

Dann ersetzt du bei ÖE das E durch Ö: ÖÖ

das klingt für mich nicht logisch schreib mal in JAVA!!

Geschrieben

Du kannst dieses Problem nicht durch einfache Aneinanderreihung von replaceAll-Aufrufen lösen, weil du entweder später noch notwendige Konvertierungen verhinderst oder bereits umgewandelte Teilstrings nochmal umwandelst (so kommt es zu dem Doppel-Ö).

Du könntest das in zwei Stufen machen, indem du zuerst die zu ersetzenden Teilstrings durch Platzhalter ersetzt, die im Text selbst nicht auftauchen können, und dann im zweiten Durchgang diese Platzhalter durch die neuen Teilstrings. Aber auch dabei musst du auf die Reihenfolge achten. Und du musst auch Teilstrings "temporär" ersetzen, die nicht ersetzt werden sollen, wohl aber Teile davon (konkret: au).

Geschrieben

Servus,

tu Dir doch einen Gefallen und teste das ganze mal in einem Schreibtischtest. Setz Dich also mit einem Testwort hin und ersetze dieses anhand Deiner aufgeschriebenen Regeln. Dann wird Dir sofort klar, was Klotzkopp schon ein paar mal versucht hat, Dir mitzuteilen.

Peter

Geschrieben

Habe ich schon probiert, aber er will die Vertauschuung nicht akzeptieren.

ich habe das ei vorne hingesetzt und denn Rest da hinter.

Es funktioniert immer noch nicht.

Was kann ich tun????

Geschrieben
Habe ich schon probiert,
Wenn du dich auf einen bestimmten Vorschlag beziehst, solltest du ihn zitieren, damit klar ist, was du probiert hast.

aber er will die Vertauschuung nicht akzeptieren.
Wer ist "er"? kingofbrains Rat war, das zunächst mal mit Bleistift und Papier zu machen.

ich habe das ei vorne hingesetzt und denn Rest da hinter.
Und ich habe dir schon gesagt, dass das nicht funktionieren wird.

Es funktioniert immer noch nicht.

Was kann ich tun????

Erstens weniger Fragezeichen machen. Zweitens aufhören mit Rumprobieren. Drittens anfangen, sich ein paar Gedanken zu machen.
Geschrieben

OK ich danke dir klotzkopp.

Ich habe eine Idee ein Kumpel hat mich daruf gebracht Reguläre Ausdrücke zu verwenden. Wo finde ich den solche ?

Geschrieben

Ich schließe mich wieder Klotzkopp an und möchte noch mal auf meinen Tipp hinweisen. Löse das Problem erst im Kopf und mach Dir danach Gedanken zur Umsetzung mit einer bestimmten Technologie. Ansonsten wird es weder mit RegEx, noch mit der Ersetzung, die Du bisher verwendest (sind übrigens auch RegEx) etwas.

Peter

  • 2 Wochen später...
Geschrieben
Andere Frage

-> anderer Thread. Oder hat das noch etwas mit dem "Sprachfehler" zu tun?

Die Threads sollen hier themenzentriert sein, nicht benutzerzentriert. Wenn deine nächste Frage also nichts mit der vorherigen zu tun hat, mach bitte einen neuen Thread auf.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...