1. #1
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 621 Times in 219 Posts

    Standard Strings alphabetisch ordnen

    Joo, ich hab da mal ne' kleine Frage und zwar:
    Ich hab zwei Strings und möchte nun beide ausgeben, aber halt sortiert.
    Beispiel:

    string1 = Peter;
    string 2 = Daniel;

    Nun möchte ich halt die Strings "sortiert" ausgeben, also dass Daniel als erstes erscheint und dann eben Peter..
    Habe gerade voll keine Ahnung, wie ich das machen soll.
    Würde mich über einen Ansatz freuen.
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  2. #2

    Registriert seit
    19.11.2011
    Beiträge
    496
    Thanked 412 Times in 268 Posts

    Standard AW: Strings alphabetisch ordnen

    Sind sie in einer Datenstruktur gespeichert oder hast du da x Variablen vom Typ String?

  3. #3
    Avatar von uncopyable
    Registriert seit
    19.11.2011
    Beiträge
    282
    Thanked 235 Times in 120 Posts

    Standard AW: Strings alphabetisch ordnen


    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;

    public class Bla {
    public static void main(String[] args) {
    List<String> list = new ArrayList<String>();
    list.add("Peter");
    list.add("Daniel");
    Collections.sort(list);
    for (String s : list)
    {
    System.out.println(s);
    }
    }
    }

    Output:
    Daniel
    Peter

  4. #4
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 621 Times in 219 Posts

    Standard AW: Strings alphabetisch ordnen

    @GerMaN-DeLuXe

    Naja der Benutzer gibt die Werte für die Strings selbst ein, also werden sie dann ausgelesen und in den zwei Strings gespeichert.

    @ uncopyable

    Das mit den Arrays kenne ich schon, abewr gibt es nicht eine andere Lösung?
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  5. #5

    Registriert seit
    19.11.2011
    Beiträge
    496
    Thanked 412 Times in 268 Posts

    Standard AW: Strings alphabetisch ordnen

    Wenn die Strings nicht in einer Liste oder in einem Array liegen, wird das Ganze ein wenig mehr Tipparbeit und weniger wiederverwendbar.
    Kurzer Blick in die ASCII-Tabelle für die Bereiche der Buchstaben:
    A - Z = 65 - 90
    a - z = 97 - 122

    In Java sind Strings Objekte. Sie bestizen u.a die charAt(index) Methode, welche dir den char an Stelle index zurückgibt.
    String str = "Peter";
    char c = str.charAt(0); // "P"

    Du könntest jetzt Folgendes machen: Du vergleichst beide chars an Index 0 der beiden Strings und prüfst einfach, welcher größer bzw. kleiner ist.
    if(str1.charAt(0) < str2.charAt(0)) // str1 kommt vor str2

    Hier gibt es aber auch den Fall, dass str1.charAt(0) == str2.charAt(0) eintreffen kann. In diesem Fall musst du den Index erhöhen und erneut überprüfen.

  6. The Following User Says Thank You to Mr. White For This Useful Post:

    Saad (11.11.2012)

  7. #6
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 621 Times in 219 Posts

    Standard AW: Strings alphabetisch ordnen

    Ja, das wird dann viel aufwendiger, aber danke für deine Hilfe. Ich mach's mal mit dem Arrays. (:
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  8. #7

    Registriert seit
    19.11.2011
    Beiträge
    496
    Thanked 412 Times in 268 Posts

    Standard AW: Strings alphabetisch ordnen

    Soo aufwändig ist das nicht, wenn man die Sache nicht sehr allgemein halten will.

    public static String sortAsc(String str1, String str2) {
    int chIndex = 0;
    while(str1.charAt(chIndex) == str2.charAt(chIndex)) {
    if(chIndex >= str1.length()) return str1;
    else if(chIndex >= str2.length()) return str2;
    ++chIndex;
    }
    return str1.charAt(chIndex) < str2.charAt(chIndex) ? str1 : str2;
    }
    Geändert von Mr. White (11.11.2012 um 23:25 Uhr)

  9. The Following User Says Thank You to Mr. White For This Useful Post:

    Saad (11.11.2012)

  10. #8
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 621 Times in 219 Posts

    Standard AW: Strings alphabetisch ordnen

    Ich hab's jetzt einfach mit compareTo gemacht.
    Also s1.compareTo(s2) und wenn ne' negative Zahl rauskommt, heißt es, dass s2 eben alphabetisch "größer" ist als s1.
    Geändert von Saad (12.11.2012 um 13:32 Uhr)
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  11. #9

    Registriert seit
    19.11.2011
    Beiträge
    496
    Thanked 412 Times in 268 Posts

    Standard AW: Strings alphabetisch ordnen

    Jap, compareTo macht das Selbe wie meine Methode, sie hat nur eine andere Signatur.

    Sobald du mit mehr Strings zutun hast, würde ich dir aber empfehlen, java.util.Collections.sort oder java.util.Arrays.sort zu verwenden.

  12. The Following User Says Thank You to Mr. White For This Useful Post:

    Saad (12.11.2012)

Ähnliche Themen

  1. [Vorschlag] Erstellte Themen der Nutzer besser Ordnen
    Von dGL im Forum Feedback
    Antworten: 5
    Letzter Beitrag: 18.02.2013, 17:12
  2. [C++] Strings verbinden?
    Von Minecraft im Forum C++
    Antworten: 6
    Letzter Beitrag: 25.04.2012, 19:23
  3. [MySQL] Variablen in Strings
    Von Minecraft im Forum Webentwicklung
    Antworten: 3
    Letzter Beitrag: 24.04.2012, 21:46
  4. Anfänger 2 Strings mit einander verrechnen
    Von DeKaDeNz im Forum Aufgaben
    Antworten: 1
    Letzter Beitrag: 02.02.2012, 18:55
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.