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

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

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
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
Ich habe eine Idee ein Kumpel hat mich daruf gebracht Reguläre Ausdrücke zu verwenden. Wo finde ich den solche ?

Der klassische Fall: Jemand hat ein Problem, und denkt: "Das mache ich mit Regular Expressions". Jetzt hat er zwei Probleme. ;)

Du kannst das mit RegEx lösen. Ob das aber unbedingt einfacher wird, möchte ich bezweifeln.

Lesson: Regular Expressions (The Java™ Tutorials > Essential Classes)

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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...