Komplett fertig

This commit is contained in:
Henrik Eckseler 2022-12-13 12:40:58 +01:00
parent 43899c9192
commit 91b71a30d9
4 changed files with 36 additions and 19 deletions

View File

@ -14,18 +14,18 @@ public class EinkommenInfo {
System.out.println("Gebiet mit dem geringsten Durchschnittseinkommen:"); System.out.println("Gebiet mit dem geringsten Durchschnittseinkommen:");
Gebiet tmp = gebietsListe.getGebietMinDurchschnittsEinkommen(); Gebiet tmp = gebietsListe.getGebietMinDurchschnittsEinkommen();
System.out.println(tmp.getName()); System.out.println(tmp.getName());
System.out.println(tmp.getAnzahlEinwohner()); System.out.println(tmp.getAnzahlEinwohner() + " Einwohner");
System.out.println(tmp.getDurchschnittsEinkommen()); System.out.println(tmp.getDurchschnittsEinkommen() + " Euro / Einwohner");
System.out.println(""); System.out.println("");
System.out.println("Gebiet mit der größten Einwohnerzahl"); System.out.println("Gebiet mit der größten Einwohnerzahl");
tmp = gebietsListe.getGebietMaxAnzahlEinwohner(); tmp = gebietsListe.getGebietMaxAnzahlEinwohner();
System.out.println(tmp.getName()); System.out.println(tmp.getName());
System.out.println(tmp.getAnzahlEinwohner()); System.out.println(tmp.getAnzahlEinwohner() + " Einwohner");
System.out.println(tmp.getDurchschnittsEinkommen()); System.out.println(tmp.getDurchschnittsEinkommen() + " Euro / Einwohner");
System.out.println(""); System.out.println("");
System.out.print("Name des Gebietes :"); System.out.print("Name des Gebietes : ");
Scanner reader = new Scanner(System.in); Scanner reader = new Scanner(System.in);
String eingabe = reader.nextLine(); String eingabe = reader.nextLine();
@ -34,14 +34,20 @@ public class EinkommenInfo {
tmpList = gebietsListe.getGebieteNachNamen(eingabe); tmpList = gebietsListe.getGebieteNachNamen(eingabe);
for (Gebiet g : tmpList) { for (Gebiet g : tmpList) {
g.getName(); System.out.println(g.getName());
g.getAnzahlEinwohner(); if(g.getDurchschnittsEinkommen() > 0) {
g.getDurchschnittsEinkommen(); System.out.println(g.getAnzahlEinwohner() + " Einwohner");
System.out.println(g.getDurchschnittsEinkommen() + " Euro / Einwohner");
} else {
System.out.println("Einwohnerzahl unbekannt");
System.out.println("Durchschnittseinkommen unbekannt");
}
System.out.println(""); System.out.println("");
} }
System.out.println(tmpList.size() + " Gebiete wurden gefunden."); System.out.println(tmpList.size() + " Gebiete wurden gefunden.");
System.out.print("Name des Gebietes :"); System.out.println();
System.out.print("Name des Gebietes : ");
eingabe = reader.nextLine(); eingabe = reader.nextLine();
} }
} }

View File

@ -34,7 +34,7 @@ public class Gebiet implements GebietInterface{
} }
public int getAnzahlEinwohner() { public int getAnzahlEinwohner() {
return 1; return (int)(gesamtEinkommen * 1000 / durchschnittsEinkommen);
} }
@Override @Override

View File

@ -6,7 +6,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class GebietsDatei { public class GebietsDatei implements GebietsDateiInterface{
private List<Gebiet> gebiete = new ArrayList<>(); private List<Gebiet> gebiete = new ArrayList<>();
public String dateiname; public String dateiname;
@ -19,13 +19,23 @@ public class GebietsDatei {
try { try {
List<String> zeilen = Files.readAllLines(pfad); List<String> zeilen = Files.readAllLines(pfad);
for (int i = 0; i < zeilen.size(); i++) { for (int i = 2; i < zeilen.size(); i++) {
String[] teile = zeilen.get(i).split(";"); String[] teile = zeilen.get(i).split(";");
int jahr = Integer.parseInt(teile[0]); int jahr = Integer.parseInt(teile[0]);
int schlüssel = Integer.parseInt(teile[1]); int schlüssel = Integer.parseInt(teile[1]);
String name = teile[2]; String name = teile[2];
int gesamtEinkommen = Integer.parseInt(teile[3]); int gesamtEinkommen;
int durchsEinkommen = Integer.parseInt(teile[4]); if(teile[3].equals("-")){
gesamtEinkommen = -1;
} else {
gesamtEinkommen = Integer.parseInt(teile[3]);
}
int durchsEinkommen;
if(teile[4].equals("-")){
durchsEinkommen = -1;
} else {
durchsEinkommen = Integer.parseInt(teile[4]);
}
gebiete.add(new Gebiet(jahr, schlüssel, name, gesamtEinkommen, durchsEinkommen)); gebiete.add(new Gebiet(jahr, schlüssel, name, gesamtEinkommen, durchsEinkommen));
} }
@ -36,6 +46,7 @@ public class GebietsDatei {
} }
public List<Gebiet> getGebiete() { public List<Gebiet> getGebiete() {
laden();
return gebiete; return gebiete;
} }

View File

@ -11,11 +11,11 @@ public class GebietsListe implements GebietsListeInterface{
public Gebiet getGebietMinDurchschnittsEinkommen(){ public Gebiet getGebietMinDurchschnittsEinkommen(){
int gebietA = 0; int gebietA = 0;
int gebietB = 0; int gebietB = gebiete.get(0).getDurchschnittsEinkommen();
Gebiet gebietMitMinDurchschnittsEinkommen = null; Gebiet gebietMitMinDurchschnittsEinkommen = null;
for (Gebiet g:gebiete) { for (Gebiet g:gebiete) {
gebietA = g.getDurchschnittsEinkommen(); gebietA = g.getDurchschnittsEinkommen();
if (gebietA < gebietB) { if (gebietA < gebietB && gebietA > 0) {
gebietMitMinDurchschnittsEinkommen = g; gebietMitMinDurchschnittsEinkommen = g;
gebietB = gebietA; gebietB = gebietA;
} }
@ -61,12 +61,12 @@ public class GebietsListe implements GebietsListeInterface{
} }
public List<Gebiet> getGebieteNachNamen(String namensanfang) { public List<Gebiet> getGebieteNachNamen(String namensanfang) {
List<Gebiet> gebiete = new ArrayList<Gebiet>(); List<Gebiet> gebieteNachNamen = new ArrayList<Gebiet>();
for (Gebiet g:gebiete) { for (Gebiet g:gebiete) {
if (g.getName().contains(namensanfang)){ if (g.getName().contains(namensanfang)){
gebiete.add(g); gebieteNachNamen.add(g);
} }
} }
return gebiete; return gebieteNachNamen;
} }
} }