Hallo. Habe eine .csv Datei die so aufgebaut ist :
"Bundesland1" ; "Stadt1";plz1;plz2;plzn
"Bundesland1" ; "Stadt2" ; plz1;plz2;plzn
"Bundesland2" ;"Stadt1" usw usw usw
Jedes Bundesland hat also mehrere Städte mit Postleitzahlen. Die Postleitzahlen sind für die Aufgabe aber irrelevant.
Die Aufgabe besteht darin für jedes Bundesland die Städte in eine LinkedList zu speichern, anschließend ein Bundesland Objekt zu erstellen und dieses dann wieder in eine LinkedList zu Speichern. Leider kommt bei mir nichts richtiges heraus... Statt den 11 Bundesländern in der .csv erhalte ich nur 8 und die Städte sind immer gleich.
hier mal der code:
"Bundesland1" ; "Stadt1";plz1;plz2;plzn
"Bundesland1" ; "Stadt2" ; plz1;plz2;plzn
"Bundesland2" ;"Stadt1" usw usw usw
Jedes Bundesland hat also mehrere Städte mit Postleitzahlen. Die Postleitzahlen sind für die Aufgabe aber irrelevant.
Die Aufgabe besteht darin für jedes Bundesland die Städte in eine LinkedList zu speichern, anschließend ein Bundesland Objekt zu erstellen und dieses dann wieder in eine LinkedList zu Speichern. Leider kommt bei mir nichts richtiges heraus... Statt den 11 Bundesländern in der .csv erhalte ich nur 8 und die Städte sind immer gleich.
hier mal der code:
Java:
package prak;
import java.io.*;
import java.util.LinkedList;
import java.util.Scanner;
public class BundeslandApp {
public static void main(String[] args) throws IOException {
LinkedList<Bundesland> bund = new LinkedList<Bundesland>();
LinkedList<String> stadt = new LinkedList<String>();
BufferedReader br = new BufferedReader(new FileReader("C:/Users/TI/Desktop/postleitzahlen.csv"));
String l = null;
String l2 = null;
String l4 = null;
String l3[] = null;
while((l=br.readLine())!=null){
l2 = l.substring(0, l.indexOf(";", l.indexOf(";")+1)); // bundesländer und städte rausfiltern
l4 = br.readLine(); //nächste Zeile
if(l2.substring(1, l2.indexOf(";")-1).equals(l4.substring(1, l4.indexOf(";")-1))){ //wenn bundesland von nächster zeile = vorheriger zeile
stadt.add(l2.substring(l2.indexOf(";")+2,l2.length()-1));
}
if(!(l2.substring(1, l2.indexOf(";")-1).equals(l4.substring(1, l4.indexOf(";")-1)))){ //falls bundesländer nicht übereinstimmen
stadt.add(l2.substring(l2.indexOf(";")+2,l2.length()-1)); //stadt der jetzigen zeile hinzufügen
Bundesland b = new Bundesland(l2.substring(1, l2.indexOf(";")-1),stadt); // Bundesland erstellen
bund.add(b); // in liste speichern
stadt.clear(); //stadtliste löschen
}
}
br.close();
for(int i =0;i<bund.size();i++){
System.out.println(bund.get(i).getName());
System.out.println();
for(int j =0;j<bund.get(i).getStadt().size();j++){
System.out.println(bund.get(i).getStadt().get(j));
}
System.out.println("\n");
}
}
}