Java-Zeichenfolgen Alphabetische Sortierung Verwendet
Habe ich ein Projekt für die Klasse waren die ich brauche, um 4 verschiedene strings eingegeben und dann deren Ausgabe in alphabetischer Reihenfolge.
Bisher habe ich dieses:
String wd1, wd2, wd3, wd4;
Scanner scan1 = new Scanner(System.in);
System.out.println ("Type Word One: ");
wd1 = scan1.next();
System.out.println ("Type Word Two: ");
wd2 = scan1.next();
System.out.println ("Type Word Three: ");
wd3 = scan1.next();
System.out.println ("Type Word Four: ");
wd4 = scan1.next();
Weiß ich, dass ich die alphabetische Reihenfolge von 2 strings per:
int compare = wd1.compareTo(wd2);
if (compare < 0)
{System.out.println(wd1 + " " + wd2);}
else {
if (compare > 0)
{System.out.println(wd2+ " " + wd1);}
Ich brauche Hilfe, immer alle 4 Saiten in der richtigen Reihenfolge. Soll ich mit if else-Anweisungen und nicht mit arrays zu tun.
Jede Hilfe wäre toll!
Dank
Sind Sie erlaubt, jede Art von Datenstruktur zum speichern von strings, wie ein array oder eine Liste?
Look up "Sortier-Netzwerke". Es ist möglich, zu Sortieren, alle vier Eingänge mit einem festen Ablauf von fünf vergleichen-und-tauschen-wenn-nötig-Operationen.
Mit dem neuesten code fehlt
Look up "Sortier-Netzwerke". Es ist möglich, zu Sortieren, alle vier Eingänge mit einem festen Ablauf von fünf vergleichen-und-tauschen-wenn-nötig-Operationen.
Mit dem neuesten code fehlt
{}
s. Werden Sie sicher, dass diese mit jedem if
und jeder else
auch wenn Sie nicht erforderlich sind. Dies wird Ihnen helfen, Probleme zu vermeiden, wie Sie jetzt sehen.InformationsquelleAutor user1695423 | 2012-10-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
+1: Eine Lösung auf der Basis des BubbleSort-Algorithmus. Eine weitere Erklärung wäre besser für die OP zu verstehen, was dein code tut.
Sie müssen nur drucken, w1, w2, w3 und w4 nach diesem Stück code.
InformationsquelleAutor jdevelop
Der einfachste Weg, das zu tun, was Sie suchen ist, um Sie in einer Liste verwenden Sie dann Liste.sort (), um Sie in Ordnung ist.
InformationsquelleAutor Charles Munger
Darum, wie die Saiten in einem
List
aus und rufen Sie densort()
Methode?Den Java-String-Klasse implementiert die "Vergleichbar" - Schnittstelle und damit bereits die
compareTo()
Methode, die vergleichen die Zeichenfolgen um.InformationsquelleAutor midhunhk
Müssen Sie die erste Zeichenfolge vergleichen mit der rest drei zu finden, die alphabetisch an Erster Stelle. nach, dass Sie brauchen, um zu vergleichen, bei den anderen 3 und so weiter.
InformationsquelleAutor midhunhk
Da Sie keine arrays oder andere Daten-Struktur und ein Sortier-Algorithmus, müssen Sie dies manuell tun mit mehreren
if
Aussagen. Bevor Sie versuchen, einen code schreiben, schlage ich vor, Sie versuchen, dies per hand. Wenn ich Euch vier Worte, wie würden Sie bestimmen, welche ist die erste in alphabetischer Reihenfolge? Die zweite? Macht so weiter; wenn Sie können beschreiben, wie Sie diese in Worte, übersetzen in Java sollte straight-forward.Edit:
Mach dir keine sorgen über ASCII-code oder alles andere mit dem computer verbundene im moment. Ich denke, Sie müssen prüfen, die Details, die
compareTo()
nur können Sie vergleichen zwei Wörter auf einmal, obwohl. Also sagen wir mal Sie pickwd1
undwd2
zu vergleichen. Wenn Sie vergleichen diese beiden "Worte", was sind die möglichen Ergebnisse? In jedem Fall, was Sie als Nächstes tun?Noch Ein Edit:
Nach der Diskussion in den Kommentaren, können Sie sehen, dass der Algorithmus hier ist so etwas wie dies (in pseudocode):
Beenden Füllung in die else-Anweisungen zunächst in Englisch nach dem gleichen Muster hier abgebildet. Wenn Sie diese fertig sind, schreiben Sie den code in Java-sollte sehr einfach sein.
Als Sie können finden Sie unter "grundlegendes Konzept" ist oft nicht genug, um Ihnen den Einstieg writubg der code. Sie müssen die Zeit nehmen, herauszufinden, alle die entsetzlichen details. Oft, ich finde, es hilft, schreiben Sie sich die Schritte in Englisch mit Stift und Papier (oder vielleicht eine word-Prozessor), bevor ich auch noch anfangen, code zu schreiben. (Natürlich, Sie können Ihre eigene Muttersprache, wenn das einfacher ist. Der Punkt ist NICHT springen auf dem computer und starten Sie das schreiben von Java-code aus dem begginning, vor allem, wenn Sie stecken geblieben sind.)
Wenn Sie können, beschreiben die Schritte, die in Ihrer Muttersprache, dann die übersetzung in Java wird einfacher. Manchmal ist es trivial. Andere Zeiten, Sie laufen in einem detail, das war nicht als in Ihrer natürlich-sprachliche Beschreibung. Dann sichern Sie Weg von Java und fixieren Sie die Beschreibung, bevor Sie mit der Java.
Dies ist im Grunde der Prozess, den ich benutze, wenn ich versuche zu schreiben ein computer-Programm. Ich hoffe, Sie können sich einige dieser Ideen zu Ihrer eigenen Codierung.
Okay, ich habe ein wenig mehr von einer Andeutung, um Ihnen helfen, begonnen.
Wenn ich
wd1.compareTo(wd2)
ich werde Sie eine ganze Zahl erzeugt. Wenn es weniger als 0 wd1 kommt zuerst, und wenn es größer als 0 word 2 kommt zuerst. Ich gehe davon aus, dass alle Worte, wird anders sein.Mal wieder Weg von den details der Rückgabewert und einfach darüber reden in Englisch. Wenn
wd1
kommt zuerst, dann, was Sie als Nächstes tun? Wenn stattwd2
kommt zuerst, was dann als Nächstes? (Auch, es ist wahrscheinlich nicht eine gute Idee anzunehmen, dass die Worte, wird anders sein. Sie sollten herausfinden, was zu tun ist in diesem Fall auch.)Wenn wd1 kommt zunächst werde ich die dann verschieben Sie Sie auf und vergleichen Sie wd2 mit wd3. Wenn wd2 kommt als erstes würde ich vergleichen wd1 mit wd3. Ich irgendwie verstehen das Konzept von dem, was getan werden muss, aber ich habe Probleme bei der Umsetzung in code.( Ich weiß auch nicht brauchen, zu befürchten, dass das gleiche Wort eingegeben. Ich habe die Betreuung)
InformationsquelleAutor Code-Apprentice
Typischen teilen und schließe mich Strategie angewendet werden konnte. Denke, über merge-sort, Sortieren, ersten 2 und letzten 2 Saiten, nach, dass die merge-Ergebnisse.
InformationsquelleAutor Ruslan Dzhabbarov
Für den Vergleich von mehr als 2 strings sollte man die strings in einem array und dann führen Sie Sie durch eine Sortier-Methode
InformationsquelleAutor Steven LaFever