Will einen Satz umwandeln.
z.B. "Hello World" -> "World Hello" oder "My name is Jeff" -> "Jeff is name my"
Mein bisheriger Code:
Java:
/* Satz umdrehen */packageUebung;importstatic pr.MakeItSimple.*;publicclassReverser{publicstaticvoidmain(String[] args){println("Bitte geben Sie Wörter ein");String sentence =readString();}publicstaticString reverseSentence (String sentence){char index =' ';for(int i =0; i <= sentence.length(); i++){
index = sentence.charAt(i);}}}
Habe leider absolut keine Idee wie..
Bis jetzt habe ich einen String mit meinen Wörtern gespeichert und meinen Buchstaben nach der Reihenfolge ein index (mit i) versehen.
Könnte jetzt quasi runterzählen, würde dann aber bei "Hello World" -> "dlroW olleH" raus bekommen, ist ja nicht das was ich will :S
Bin für jeden Denkanstoß bzw Hilfe dankbar!
Danke, aber hätte glaub dazusagen sollen, dass wir bestimme Funktionienen nicht benutzen dürfen ._. Haben ne bestimmte Bibliothek..
Auch wenn wir split in den Vorlesungen durchgenommen haben, dürfen wir Sie in dieser Übung nicht benutzen^^
Wenn Ihr die Methoden @mihe7 und @Tobias-nrw nicht benutzen dürft dann sicherlich auch kein StringTokenizer oder?
andernfalls würde ich 2x dann eben durch den String laufen. Du lässt dir von input-String die length geben. Dann läufst du mit einer for-Schleife 1x durch und zählst die " ". Damit hättest du die Anzahl der Wörter. Dann erstellst du ein String Array das Anzahl-1 groß ist und schreibst das erste Wort an letzte Stelle etc.
Ist nicht sehr schön oder effektiv aber es sollte klappen.
Mir ist gerade eingefallen. So ist es bei uns wir dürfen dann auch keine Arrays nutzen bei solchen Aufgaben
Du könntest dann auch von hinten anfangen. Prüfen tust du weiterhin auf ' '. Sobald du eines erreicht hast nimmst du den temporären String in den du die Buchstaben gespeichert hast. Dann läufst du mit einer 2ten Schleife durch diesen temporären String drehst die Buchstaben wieder in die richtige Reihenfolge und speicherst das Wort in dein Ergebnis String. Denke das sollte funktionieren!
Also wenn Du nur durch den String laufen darfst um Zeichen für Zeichen zu analysieren, dann kannst Du das doch trivial lösen. Ocsme hat da etwas genannt, auf das es aus meiner Sicht hinaus laufen wird:
Zwei Variablen:
- result -> String, das das Ergebnis enthalten soll.
- word -> das aktuelle Wort, das gelesen wird.
Nun gehst Du Zeichen für Zeichen durch die gegebene Zeichenkette (Egal in welche Richtung du durchgehst. Das ändert die Operationen nur minimal!):
- a) Was musst Du machen, wenn es kein Leerzeichen ist?
- b) Was musst Du bei einem Leerzeichen machen?
Ich denke, die Lösung liegt schon recht deutlich auf der Hand, ohne dass ich a und b vorgebe, oder?