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.
, welches ich "umdrehen" möchte. Im Grunde soll am Ende, wenn ich das auf der Konsole ausgebe nicht "Lieschen Mueller" stehen, sondern: "Mueller, Lieschen".
Muss ich jedes einzelne Zeichen überprüfen und wenn eine Leerzeile kommt vertausche ich das? Ich dachte erst, das wird ganz einfach, aber ich stehe im Moment auf'm Schlauch...^^
was vertauschen?
Trenne doch den jeweiligen String in einzelne Wörter (entweder manuell, oder mit String#split) und setze die so wieder zusammen, wie du es haben möchtest.
P.S. Du hast etwas ungünstig das Thema gewählt, denn genau genommen hat das mit Array rein gar nichts zu tun um vor allem willst du nicht das Array an sich umdrehen.
Die Wörter des Strings sind Array Elemente gesplittet an Whitespaces. Du könntest also den String tatsächlich splitten. Im Collections-Framework gibt es die Methode:
Java:
Collections.swap
Die könntest Du benutzen, indem Du den Array in eine List steckst. Aber Du willst es ja selber machen. Dann schau Dir mal den Code dieser Methode an, versuche, ihn nachzuvollziehen und Schau, was davon für Dein Problem passt. Ich denke das hat auch einen großen Lerneffekt/Spaßfaktor.
Vorsicht, das Erkennen von Namensteilen und dem, was Vorname und Nachname ist, ist alles andere als trivial.
Wenn sicher ist, dass da immer Nur Exakt zwei Worte stehen, deren erstes der Vorname und deren zweites der Nachname ist, ist die Sache einfach. Wenn du aber mit wirklich Namen zu tun hast, wird die Sache ziemlich komplex. Die Freiherren und der Prof. Dr. Dr. hc. blubb. von Sowieso machen sie Sache gern immer wieder haarsträubend schwierig.
Man kann mit Listen bekannter Vor- und Nachnamen arbeiten. Aber auch das hilft immer nur ein Stück weit. Schonmal ein paar asiatische Namen mit in einer Namensliste gehabt?
Logisch lässt sich das Innere der Schleife auf einen Einzeiler reduzieren, aber so wird dem TO, welcher offensichtlich ja Anfänger ist, genau gezeigt was passiert.
Logisch lässt sich der Split per
Code:
String.split(...)
machen
Logisch deckt das nicht alle Möglichkeiten ab, aber es erfüllt haarklein die Anforderung welche aus dem Eingangsthread hervorgeht ;-) -> KISS oder besser KIASAP (keep it as simple as possible)
Ja, ich weiss, dass es hier Leute gibt, die diese Version komplizierter als einen "banalen" rexexp finden :lol:
sorry Andi_CH, aber das ist nicht wirklich richtig.
KISS bedeutet nicht dass man jeden einzelnen Schritt schreibt und nur "Grundfunktionaltiaeten" nutzt. Ein guter Einzeiler ist meist besser als 10 Zeilen und es erklaert selbst einem Anfaenger was passiert
@Crian: Ansonsten gabs immer Gemecker, wir sollen bei Anfängerfragen nicht auf jedes Detail eingehen, und nun ist die Resonanz, dass der Regex nur für triviale Cases funktioniert. Was wollt ihr denn :bae: ? Ich wollte eigentlich nur auf Regex hinweisen, was in diesem Fall (noch) ausgezeichnet läuft