kombiniert Ich muss 4 Listen der medizinischen Daten vorbearbeiten, bevor wir es in die Software importieren können. Ich habe 4 Listen gegeben, die jeweils bereits bestellt, die wie folgt aussehen:Beste Weise, die 4 Listen zu einer
File 1) chapter
A00-B99;
C00-D48;
D50-D89;
C00-C99;
E00-E90;
...
Z00-Z99;
File 2) subchapter
A00-A09;
A15-A19;
A92-A99;
B95-B98;
B99-B99;
C00-C48;
...
Z80-Z99;
File 3) Groups
A00.-
A01.-
A02.-
...
C01.-
....
Z99.-
File 4) diagnoses
A00.0;
A00.1;
A00.7;
A00.8;
A01.7;
A02.8;
..
Z00.3;
Z00.4;
;
Am Ende sollte es wie die folgende Liste bestellt werden. Jede Zeile wird eine Zeile innerhalb einer CSV-Datei sein.
A00-B99; (Chapter)
A00-A09; (Subchapter)
A00.- (corresponding group)
A00.0 (corresponding diagnoses)
A00.1
A00.7
A00.8
A01.- (corresponding group)
A01.7 (corresponding diagnoses)
A02.- (corresponding group)
A02.8 (corresponding diagnoses)
...
B15-B99(Subchapter)
...
C00-C99 (Chapter)
C00-D48 (Subchapter)
C01.- (corresponding group)
C01.2 (corresponding diagnoses)
Ich habe es bisher versucht, indem Sie einige verknüpfte hasmaps verwenden, aber nicht das richtige Ergebnis erhalten.
while (entries_kapitel.hasNext()) {
Entry thisEntry_kapitel = (Entry) entries_kapitel.next();
String key_kapitel = (String) thisEntry_kapitel.getKey();
String text_kapitel = (String) thisEntry_kapitel.getValue();
// A00-B99 -> A und B
String kapitel_char1 = key_kapitel.split("-")[0].substring(0, 1);
String kapitel_char2 = key_kapitel.split("-")[1].substring(0, 1);
// A00-B99 -> 99
int kapitel_int2 = Integer.parseInt(key_kapitel.split("-")[1].substring(1, 3));
// subchapters
while (entries_gruppen.hasNext()) {
Entry thisEntry_gruppen = (Entry) entries_gruppen.next();
String key_gruppen = (String) thisEntry_gruppen.getKey();
String text_gruppen = (String) thisEntry_gruppen.getValue();
// Gruppe splitten T90-T89
String gruppe_char1 = key_gruppen.split("-")[0].substring(0, 1);
String gruppe_char2 = key_gruppen.split("-")[1].substring(0, 1);
int gruppe_int2 = Integer.parseInt(key_gruppen.split("-")[1].substring(1, 3));
if (gruppe_char1.equals(gruppe_char2) == false){
System.err.println("Subchapters start with the same capital!");
System.exit(1);
}
while (entries_gruppierung.hasNext()) {
Entry thisEntry_gruppierung = (Entry) entries_gruppierung.next();
String key_gruppierung = (String) thisEntry_gruppierung.getKey();
String text_gruppierung = (String) thisEntry_gruppierung.getValue();
String gruppierung_char1 = key_gruppierung.substring(0, 1);
int gruppierung_int1 = Integer.parseInt(key_gruppierung.substring(1, 3));
(gruppierung_char1.equals(gruppe_char1) && gruppierung_int1 <= gruppe_int2) {
System.out.println("Chapter: " + key_kapitel + " subchapter: " + key_gruppen + " group" + key_gruppierung);
while (diagnoses.hasNext()) {
....
Das Ergebnis nicht wie es nicht aussehen sollte (es fehlen Einträge und sie sind nicht alle richtig bestellt) Was ist der beste Weg, um diese Aufgabe zu lösen? Ich konnte keinen funktionierenden Baum bekommen, was wahrscheinlich der beste Weg ist, oder?
ich persönlich die Datei in eine Datenbank zB einbetten Derby laden würde, dann –
irgendeine Art von SQL-Select-Anweisung in JDBC ausführen ich die Daten, die Sie in einer Struktur empfangen recomment würde an erster Stelle, die, was eigentlich zu Ihnen passt zu versuchen, modell: Erstelle eine Kapitelklasse, die eine Liste von Unterkapitelobjekten enthält, die wiederum eine Liste von Gruppenobjekten usw. enthält. pp. Das Arbeiten mit einer Struktur wie dieser wäre wahrscheinlich viel einfacher, als mit einer Reihe von Strings zu experimentieren. –