Moin Leute,
ich sitze schon eine ganze Weile an dem Problem und komme einfach nicht weiter.
Ich habe eine Methode geschrieben die mir eine xml Datei ausliest und in einen String schreibt.
Der String besteht aus vielen Zeilen, die aber alle ein und den selben Aufbau haben:
[XML]
<number="123456" />
<number="789" />
<number="65432" />
<number="110" />
<number="789" />
<number="123456" />
<number="110" />
[/XML]
Ich möchte jetzt diese so formatieren, dass er die Liste nach Nummern sortiert. Dabei soll er wie folgt vorgehen.
Solange noch Zeilen vorhanden:
Er schaut sich die erste Zeile an, kennt nun die Nummer, untersucht alle nachfolgenden Zeilen auf diese Nummer:
Wenn Nummer ident, schiebe Zeile nach oben, falls Nummer nicht ident, gehe in nächste Zeile.
Wenn Ende erreicht, gehe auf nächste noch nicht abgeglichene Zeile bzw. Nummer, und führe dies fort.
Er sortiert die Nummern daher von "oben" nach unten, die Nummer die zu erst kommt wird auch zuerst gesucht und gruppiert.
Alles was ich bisher habe ist folgender Funktionsrumpf:
Die while Schleife scheint zu passen, im Moment schreibt er jedoch lediglich Zeile um Zeile in einen neuen String.
Ich hoffe meine Beschreibung ist einigermaßen verständlich, über Rückmeldungen würde ich mich sehr freuen.
LG,
Alex
ich sitze schon eine ganze Weile an dem Problem und komme einfach nicht weiter.
Ich habe eine Methode geschrieben die mir eine xml Datei ausliest und in einen String schreibt.
Der String besteht aus vielen Zeilen, die aber alle ein und den selben Aufbau haben:
[XML]
<number="123456" />
<number="789" />
<number="65432" />
<number="110" />
<number="789" />
<number="123456" />
<number="110" />
[/XML]
Ich möchte jetzt diese so formatieren, dass er die Liste nach Nummern sortiert. Dabei soll er wie folgt vorgehen.
Solange noch Zeilen vorhanden:
Er schaut sich die erste Zeile an, kennt nun die Nummer, untersucht alle nachfolgenden Zeilen auf diese Nummer:
Wenn Nummer ident, schiebe Zeile nach oben, falls Nummer nicht ident, gehe in nächste Zeile.
Wenn Ende erreicht, gehe auf nächste noch nicht abgeglichene Zeile bzw. Nummer, und führe dies fort.
Er sortiert die Nummern daher von "oben" nach unten, die Nummer die zu erst kommt wird auch zuerst gesucht und gruppiert.
Alles was ich bisher habe ist folgender Funktionsrumpf:
Java:
public static void sortcalls (String unsorted) {
try{
String sorted ="";
StringReader streader = new StringReader(unsorted);
BufferedReader bfreader = new BufferedReader(streader);
String loop ="";
while ((loop = bfreader.readLine()) != null){
sorted += loop;
}
}
catch (IOException e){System.out.println("Fehler beim Sortieren");}
}
Die while Schleife scheint zu passen, im Moment schreibt er jedoch lediglich Zeile um Zeile in einen neuen String.
Ich hoffe meine Beschreibung ist einigermaßen verständlich, über Rückmeldungen würde ich mich sehr freuen.
LG,
Alex