Sortieren von Daten

Status
Nicht offen für weitere Antworten.

ToBHo

Neues Mitglied
Hey out there,

Ich gehe momentan in die 11. Klasse des Franz-Stock-Gymnasiums.
Wir müssen eine Datenbank programmieren und stehen gerade vor dem "Sortier"-Problem:

WIr haben verschiedene Daten(Namen,Adressen,Telefon,...) und sollen diese per Java alphabetisch sortieren und ausgeben.

Dieses soll geschehen indem wir die Buchstaben, Zahlen und eventuell Sonderzeichen in Zahlen umwandeln.
Diese werden dann nach Wertigkeit sortiert.
Das Umwandeln von Buchstaben etc. in Zahlen stellt nicht das Problem dar, auch das Sortieren haben wir mit einem BubbleSortierer gelöst.

Aber:
Wie sortier ich dann die Daten?
Wenn a=1 und z=26, dann ist aaaa=1111 und z=26 und stünde somit nach z. Das ist aber genau nicht so.

Ich habe bereits versucht durch den Code von MySQL durchzusteigen, aber irgendwie schaff ichs net^^

Ich bitte um Hilfe, brauche nur ne Idee, programmieren werd ich das dannselber ;)

Dank euch im Vorraus.
Tobi
 
S

SlaterB

Gast
also ich bezweifle stark, dass du einer Datenbank beibringen kannst,
in der Reihenfolge
a < 4 < k zu sortieren

das ist doch eine Aufgabe für eine Java-Anwendung,

und die Zahlen der Buchstaben soll man wirklich zusammenrechnen?
a < aa < z < aaa < zz < aaaa
?
kompliziert..
damit dürften selbst die Standard-JavaMechanismen wegfallen, die eine beliebige Reihenfolge einzelner Zeichen gestatten
 

Ellie

Aktives Mitglied
Falls ich dein Problem richtig verstanden habe: Du brauchst dafür nur ORDER BY (Spaltenname) in die Select-Klausel einzufügen, das macht schon alles richtig.
 

Ellie

Aktives Mitglied
Wer lesen kann, ist mal wieder im Vorteil.

Schreib doch bitte etwas mehr dazu, ich verstehe nicht so recht, welche Daten ihr da genau sortiert. Wollt ihr die Werte aller Spalten in einen Topf werfen und sie dann sortieren? Oder warum sonst müsst ihr Strings und Zahlenwerte in der gleichen Spalte betrachten?

Im Übrigen denke ich, dass ihr einfach den falschen Weg gewählt habt. Wäre es nicht sinnvoller, alle Zahlenwerte in Strings umzuwandeln und dann diese zu sortieren? Dafür gibt es zig Mechanismen, sowohl in SQL als uch in Java.
 

HoaX

Top Contributor
buchstaben sind doch auch nur zahlen ...

Code:
int compare(String s1, String s2) {
    for (int i = 0; i<s1.length(); i++) {
        int c1 = s1.charAt(i);
        int c2 = s2.charAt(i);

        int diff = c1 - c2;
        
        if (diff != 0)
            return diff;
    }
}

so in etwa kannst du das in einen Comparator implementieren. alles schreib ich dir nich ... is ja deine aufgabe ;)
 
S

SlaterB

Gast
@ Hoax:
> Wenn a=1 und z=26, dann ist aaaa=1111 und z=26 und stünde somit nach z.



edit:
ach dahinter steht noch
> Das ist aber genau nicht so.

na nun spekulier ich mal lieber gar nicht mehr, was überhaupt gemeint ist ;)
 
G

Guest

Gast
Danke für die Antworten.

@HoaX: Ich bin im Standart-Java nicht so bewand da wir in der Schule einige spezielle Bibliotheken benutzen.

@Elli: Wir arbeiten nicht mit speziellen Datenbanken(MySQL, Firebird, Oracle, ...)
@Slater: Im Alphabet steht "aaa" vor "z" deshalb müsste 111 vor 26 stehen. Rein rechnerisch aber nicht ;) Man müsste natürlich jeden Buchstaben in Zahlen umwandeln.

Ich glaub ich habe eine Lösung dafür gefunden:
-Buchstaben in Zahlen umwandelt
-sie in einem String speichern
-bei dem kleinsten String solange "00" anfügen bis alle gleichlang sind

Beispiel:
"a" = 01 --> "aaa" = 010101
"z" = 26 --> "z" = 260000

Damit wäre "aaa" wieder vor "z".

Habe es auch soweit hinbekommen das ich Buchstaben in Zahlen umwandeln kann, das sortieren funktioniert auch perfekt.
Bloß: Wenn ich meine Funktion in eine Schleife einbaue und als Parameter eine Variabel übergebe(buchstabe="a", buchstabe wird übergeben) nimmt er sie nicht an. Nur wenn ich richtig nen String reinschreibe ("a" wird übergeben) wandelt er es mir um. Warum nimmt er keine Variabeln an? Die Parametertypen sind beide auf String gestellt.

Code muss ich nachreichen. Bin grad in der Schule ;)

ciao Tobi
 
S

SlaterB

Gast
schaue dir auch die Java-Klassen Collator/ RuleBasedCollator an,
die ermöglicht es, eine beliebige String-Reihenfolge vorzugeben, nach der sortiert wird,

a,1 < b,2 < ..
viele Möglichkeiten, Umlaute und Sonderzeichen, alles beliebig anordbar

-------

ich selber habe mir auch mal einen individuellen Sortierter geschrieben,
mein Vorgehen: ein Array mit einem Wert pro char,

zum Vergleich zweier beliebiger chars einfach ins Array schauen und die Werte vergleichen,
zumindest schneller als die allgemeine Collator-Klasse

falls Interesse besteht, könnte ich das aber frühestens in einer Woche oder so posten,
im Moment leider nicht, (und bin wohl solange auch nicht mehr hier zugegen)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
SexyPenny90 SQL Daten sortieren und top 5 ausgeben Datenbankprogrammierung 7
D MySQL Abfrage sortieren Datenbankprogrammierung 4
TheJavaKid MySQL Erst sortieren dann gruppieren Datenbankprogrammierung 32
Z PDF nach Formate sortieren Datenbankprogrammierung 3
J ArrayList sortieren. Datenbankprogrammierung 12
D aus mehreren sql tabellen matchen und sortieren Datenbankprogrammierung 6
J Sortieren einer Tabelle Datenbankprogrammierung 4
P HELP! Tabelle sortieren wenn man auf Spaltennamen klickt SQL Datenbankprogrammierung 2
C sortieren einer Tabelle (mysql) Datenbankprogrammierung 4
D Alte Daten ins neue Modell quetschen Datenbankprogrammierung 6
R Mongodb Daten werden immer überschrieben Datenbankprogrammierung 7
R Mongodb Daten in einem bestimmten Document speichern Datenbankprogrammierung 1
OnDemand Daten auf mehrere Tabellen aufteilen oder Spalten nutzen Datenbankprogrammierung 2
B Daten HSQL-DB Datenbankprogrammierung 2
V H2 ManyToMany wie speichere ich die Daten? Datenbankprogrammierung 10
thobren Projekt SQlite! Wie kann ich auf auf SQlite Daten zugreifen? Datenbankprogrammierung 4
OnDemand Daten verschlüsseln Datenbankprogrammierung 42
L Oracle Daten in Häppchen selektieren Datenbankprogrammierung 5
L Oracle Daten von Oracle zu MSSQL übertragen Datenbankprogrammierung 4
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
Z Ausgabe nur bestimmter Daten Datenbankprogrammierung 6
E netbeans - jsp Daten in Datenbank hinzufügen Datenbankprogrammierung 2
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Kirby.exe Vorschläge zur Verschlüsselung von Daten in der DB Datenbankprogrammierung 2
T Java Spiel Daten speichern Datenbankprogrammierung 1
LimDul H2 Embedded DB und Gigabytes an Daten Datenbankprogrammierung 0
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
R Wie mit zu viele Daten umgehen? Datenbankprogrammierung 2
F MySQL Wie speichere ich Daten zeitlich abhängig? Datenbankprogrammierung 4
T Oracle Normalisierung und Daten splitten Datenbankprogrammierung 1
JG12111989 DB-Daten werden falsch dargestellt Datenbankprogrammierung 7
K H2 Daten in die H2 console DB eintragen Datenbankprogrammierung 2
L SQLite Ändern der Daten in einem UNIQUE Feld Datenbankprogrammierung 1
S Daten von SQLite Datenbank nutzen Datenbankprogrammierung 5
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
L Oracle Daten von einem Server zum andere kopieren Datenbankprogrammierung 24
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
L MySQL Vergleichen von Array-Inhalt, Ausgabe gleicher Daten Datenbankprogrammierung 3
W Daten in Java intern abfragen Datenbankprogrammierung 1
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
W Daten aus einer Datei von einem VServer auslesen Datenbankprogrammierung 1
I MySQL Datenbankstruktur angleichen - Daten behalten Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
P LDAP: Daten eintragen funktioniert nicht Datenbankprogrammierung 7
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
O mit Multi-Thread Daten aus Datenbank lesen und schreiben Datenbankprogrammierung 22
F Daten verdichten Datenbankprogrammierung 0
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
B Daten aus DB in Word Dokument Datenbankprogrammierung 2
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
D Daten posten auf RestApi (Mongodb/NoSQL) Datenbankprogrammierung 0
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
OnDemand MySQL Daten aktualisieren Datenbankprogrammierung 6
D Daten von einem Server in eigenem Java-Programm benutzen Datenbankprogrammierung 6
M Vergleich von Daten in verschiedenen Tabellen Datenbankprogrammierung 1
S Daten aus Form in Datenbank nur einmal eintragen Datenbankprogrammierung 2
6 JBDC Daten verschlüsseln? Datenbankprogrammierung 2
F MySQL Daten ändern über Java Datenbankprogrammierung 3
G SQLite Daten aus SQLite DB in andere SQLite DB importieren Datenbankprogrammierung 4
H Grosse Menge an Daten in eine Datenbank Datenbankprogrammierung 32
M Daten nachträglich hinzufügen Datenbankprogrammierung 6
2 MySQL Daten aus einer Array auslesen und MySQL Statment erstellen. Datenbankprogrammierung 5
E Daten einer SQL-Datenbank aus Combobox in labels schreiben Datenbankprogrammierung 6
N HSQLDB Daten Auslesen Datenbankprogrammierung 3
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
P MySql daten in leeren jtable übertragen Datenbankprogrammierung 5
L Hibernat will Daten nicht einfügen??? Datenbankprogrammierung 2
B MySQL DB Daten aktualisieren Datenbankprogrammierung 9
D MySQL Daten werden aus Datenbank gelesen, obwohl sie dort gar nicht angekommen sind Datenbankprogrammierung 8
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D Übersichtliche Zuweisung von Daten in Tabellen Datenbankprogrammierung 17
C ResultSet enthält nicht alle Daten Datenbankprogrammierung 4
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
J Daten synchronisieren in Multi-Client-Anwendungen (Hibernate) Datenbankprogrammierung 6
S JPA: DB Schema ändern und Daten nicht verlieren - wie? Datenbankprogrammierung 5
T MySQL Select: Zusammenfassen von Daten und bilden von Durchschnitt? Datenbankprogrammierung 4
F Daten in die DB hinzufügen Datenbankprogrammierung 7
H Klasse welche Mysql Daten zurück gibt Datenbankprogrammierung 18
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
H Daten in/aus Datenbank schreiben Datenbankprogrammierung 2
M DropDownBoxen mit MySQL Daten füllen Datenbankprogrammierung 3
E MySQL Daten in die Datenbank eingeben via Java Programm Datenbankprogrammierung 3
F ORA 17410 Keine weiteren Daten aus Socket zu lesen Datenbankprogrammierung 2
B Daten aus Datenbank holen Datenbankprogrammierung 6
T Problem beim schreiben von daten Datenbankprogrammierung 4
N Daten aus Datenbank abfragen und anzeigen in der Praxis?? Datenbankprogrammierung 2
G MySQL Bekomme keine Daten. Datenbankprogrammierung 7
L CLOB-Daten werden beim Einfügen in die Datenbank geändert? Datenbankprogrammierung 5
G Daten aggregieren Datenbankprogrammierung 11
Gossi Oracle 2 Daten (Datum) vergleichen Datenbankprogrammierung 6
W MySQL Daten aus bestimmter Spalte lesen Datenbankprogrammierung 2
E MySQL Befüllen einer MySQL DB mit großen Daten Datenbankprogrammierung 6
J Doppelte Daten in Spalte, nur die erste abrufen wie? Datenbankprogrammierung 15
P Daten aus MySql Datenbank lesen??? Datenbankprogrammierung 6
J Daten vergleichen Datenbankprogrammierung 10
S Daten einer Tabelle vergleichen und ggs neuen Wert einfügen Datenbankprogrammierung 8
X Daten einer DatenbankTabelle in JTable darstellen Datenbankprogrammierung 13
T Designfrage: DB-Daten direkt oder verzögert speichern Datenbankprogrammierung 2
Dragonfire Daten aus jsp Datei in datenbank speichern Datenbankprogrammierung 15

Ähnliche Java Themen

Neue Themen


Oben