diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Gebiet.java b/src/Gebiet.java index 89862cf..1400021 100644 --- a/src/Gebiet.java +++ b/src/Gebiet.java @@ -6,8 +6,57 @@ * abgeleitete Eigenschaft und wird dementsprechend in der Methode 'getAnzahlEinwohner' * berechnet. * - * @author Gubitz, Wöstemeyer, Pfannenstiel, Maier, Vigier :D + * @author Vigier */ -public class Gebiet { - //gepushter kommentar -} +public class Gebiet implements GebietInterface { + private int jahr; + private int schlüssel; + private String name; + private long gesamtEinkommen; + private int durchschnittsEinkommen; + + public Gebiet(int jahr, int schlüssel, String name, long gesamtEinkommen, int durchschnittsEinkommen) { + this.jahr = jahr; + this.schlüssel = schlüssel; + this.name = name; + this.gesamtEinkommen = gesamtEinkommen; + this.durchschnittsEinkommen = durchschnittsEinkommen; + } + + @Override + public int getjahr() { + return jahr; + } + + @Override + public int getSchüssel() { + return schlüssel; + } + + @Override + public String getName() { + return name; + } + + @Override + public long getGesamtEinkommen() { + if(gesamtEinkommen == 0){ + return -1; + + } + return gesamtEinkommen; + } + + @Override + public int getDurchschnittsEinkommen() { + if(getDurchschnittsEinkommen() == 0){ + return -1; + } + return durchschnittsEinkommen; + } + + @Override + public int getAnzahlEinwohner() { + return (int) (gesamtEinkommen / durchschnittsEinkommen); + } +} \ No newline at end of file diff --git a/src/GebietInterface.java b/src/GebietInterface.java new file mode 100644 index 0000000..eb60ac3 --- /dev/null +++ b/src/GebietInterface.java @@ -0,0 +1,8 @@ +public interface GebietInterface { + int getjahr(); + int getSchüssel(); + String getName(); + long getGesamtEinkommen(); + int getDurchschnittsEinkommen(); + int getAnzahlEinwohner(); +} diff --git a/src/GebietListe.java b/src/GebietListe.java index 1c4175d..002e444 100644 --- a/src/GebietListe.java +++ b/src/GebietListe.java @@ -1,3 +1,5 @@ +import java.util.List; + /** * Die Klasse 'GebietsListe' enthält als Attribut eine Liste von Gebiet-Objekten. Darauf * aufbauend wird eine Reihe von Algorithmen bereitgestellt, die die Liste der Gebiete @@ -13,5 +15,12 @@ * * @author Gubitz, Wöstemeyer, Pfannenstiel, Maier, Vigier :D */ -public class GebietListe { +public class GebietListe implements ListenInterface +{ + private List gebiete; + + public GebietListe(List gebiete) + { + this.gebiete = gebiete; + } } diff --git a/src/GebietMock.java b/src/GebietMock.java new file mode 100644 index 0000000..ea4f460 --- /dev/null +++ b/src/GebietMock.java @@ -0,0 +1,32 @@ +public class GebietMock implements GebietInterface{ + + @Override + public int getjahr() { + return 0; + } + + @Override + public int getSchüssel() { + return 0; + } + + @Override + public String getName() { + return null; + } + + @Override + public long getGesamtEinkommen() { + return 0; + } + + @Override + public int getDurchschnittsEinkommen() { + return 0; + } + + @Override + public int getAnzahlEinwohner() { + return 0; + } +} diff --git a/src/GebietsDatei.java b/src/GebietsDatei.java index b2bc080..7e11930 100644 --- a/src/GebietsDatei.java +++ b/src/GebietsDatei.java @@ -1,10 +1,42 @@ +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; + /** * Die Klasse 'Gebietsdatei' hat die Aufgabe, die Datei 'Einkommen.csv' einzulesen, zu * interpretieren, als Gebiet-Objekte zu speichern und diese in Form einer Liste zur Verfügung * zu stellen. * - * @author Gubitz, Wöstemeyer, Pfannenstiel, Maier, M. Vigier :D + * @author Gubitz, Wöstemeyer, Pfannenstiel, Maier, Vigier */ -public class GebietsDatei { - //wg //er kam, er sah und siegtedfg +public class GebietsDatei implements GebietsQuelle{ + private ArrayList gebiete = new ArrayList<>(); + + public void GebietsDatei (String dateiname){ + Path pfad = Paths.get(dateiname); + + try { + List zeilen = Files.readAllLines(pfad); + + for(String zeile : zeilen) { + String[] teile = zeile.split(";"); + int jahr = Integer.parseInt(teile[0]); + int schlüssel = Integer.parseInt(teile[1]); + String region = teile[2]; + int einkommenProHaushalt = Integer.parseInt(teile[3]); + int einkommenjeEinwohner = Integer.parseInt(teile[4]); + gebiete.add(new Gebiet(jahr, schlüssel, region, einkommenProHaushalt, einkommenjeEinwohner)); + } + + } catch (IOException e) { + e.printStackTrace(); + } + } + + public List getGebiete() { + return gebiete; + } } diff --git a/src/GebietsQuelle.java b/src/GebietsQuelle.java new file mode 100644 index 0000000..095b54a --- /dev/null +++ b/src/GebietsQuelle.java @@ -0,0 +1,6 @@ +import java.util.ArrayList; +import java.util.List; + +public interface GebietsQuelle { + List getGebiete(); +} diff --git a/src/ListenInterface.java b/src/ListenInterface.java new file mode 100644 index 0000000..cf39895 --- /dev/null +++ b/src/ListenInterface.java @@ -0,0 +1,3 @@ +public interface ListenInterface +{ +} diff --git a/src/MockGebietsDatei.java b/src/MockGebietsDatei.java new file mode 100644 index 0000000..a1326e2 --- /dev/null +++ b/src/MockGebietsDatei.java @@ -0,0 +1,13 @@ +import java.util.*; + +public class MockGebietsDatei implements GebietsQuelle { + private ArrayList gebiete = new ArrayList<>(); + + public void GebietsDatei (String dateiname){ + + } + + public List getGebiete() { + return gebiete; + } +}