42 #13
@ -7,11 +7,16 @@ public class EinkommenInfo {
|
||||
GebietsDatei datei = new GebietsDatei("Einkommen.csv");
|
||||
List<Gebiet> gebiet = datei.getGebiete();
|
||||
GebietsListe gebietsListe = new GebietsListe(gebiet);
|
||||
System.out.println(gebiet.size() + " Gebiete wurden eingelesen.");
|
||||
System.out.println(gebietsListe.getAnzahlUnvollstaendig() + " davon haben unvollständige Angaben.");
|
||||
System.out.println();
|
||||
|
||||
System.out.println(gebietsListe.getAnzahlGesamt() + " Gebiete wurden eingelesen.");
|
||||
System.out.println(gebietsListe.getAnzahlUnvollstaendig() + " davon haben unvollständige Angaben.\n");
|
||||
|
||||
System.out.println("Gebiet mit dem geringsten Durchschnittseinkommen:");
|
||||
System.out.println(gebietsListe.getGebietMinDurchschnittEinkommen());
|
||||
|
||||
System.out.println("Gebiet mit der größten Einwohernzahl:");
|
||||
System.out.println(gebietsListe.getGebietMaxEinwohner());
|
||||
|
||||
Scanner sc = new Scanner(System.in);
|
||||
while (true) {
|
||||
System.out.print("Name des Gebietes: ");
|
||||
@ -23,7 +28,8 @@ public class EinkommenInfo {
|
||||
for (Gebiet area : foundAreas) {
|
||||
System.out.println(area);
|
||||
}
|
||||
System.out.println(foundAreas.size() + " Gebiete wurden gefunden.");
|
||||
}
|
||||
System.out.println(foundAreas.size() + " Gebiete wurden gefunden.\n");
|
||||
}
|
||||
sc.close();
|
||||
}
|
||||
}
|
@ -46,11 +46,15 @@ public class Gebiet implements GebietInterface{
|
||||
|
||||
@Override
|
||||
public int getAnzahlEinwohner() {
|
||||
return (int)(gesamtEinkommen / durchschnittsEinkommen);
|
||||
return (int) (gesamtEinkommen * 1000 / durchschnittsEinkommen);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getName() + "\n" + getAnzahlEinwohner() + " Einwohner\n" + getDurchschnittsEinkommen() + " Euro / Einwohner\n";
|
||||
if (getDurchschnittsEinkommen() <= 1 || getGesamtEinkommen() <= 1) {
|
||||
return getName() + "\n" + "Einwohnerzahl unbekannt\n" + "Durchschnittseinkommen unbekannt\n";
|
||||
}
|
||||
return getName() + "\n" + getAnzahlEinwohner() + " Einwohner\n" + getDurchschnittsEinkommen()
|
||||
+ " Euro / Einwohner\n";
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,9 @@ public class GebietsDatei {
|
||||
try {
|
||||
Files.readAllLines(Paths.get(dateiName)).forEach(line -> {
|
||||
String[] parts = line.split(";");
|
||||
gebiete.add(new Gebiet(Integer.parseInt(parts[0]), Integer.parseInt(parts[1]), parts[2], (parts[3].equals("-")) ? 0 : Long.parseLong(parts[3]), (parts[4].equals("-")) ? 0 : Integer.parseInt(parts[4])));
|
||||
gebiete.add(new Gebiet(Integer.parseInt(parts[0]), Integer.parseInt(parts[1]), parts[2],
|
||||
(parts[3].equals("-")) ? -1 : Long.parseLong(parts[3]),
|
||||
(parts[4].equals("-")) ? -1 : Integer.parseInt(parts[4])));
|
||||
});
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
@ -2,33 +2,39 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class GebietsListe {
|
||||
private List<GebietMock> gebietListe = new ArrayList<>();
|
||||
private List<Gebiet> gebiete = new ArrayList<>();
|
||||
|
||||
public GebietsListe(List<Gebiet> gebiete) {
|
||||
this.gebietListe = gebietListe;
|
||||
this.gebiete = gebiete;
|
||||
}
|
||||
|
||||
public Gebiet getGebietMinDurchschnittEinkommen() {
|
||||
|
||||
return null;
|
||||
return gebiete.stream()
|
||||
.filter(g -> g.getDurchschnittsEinkommen() != -1)
|
||||
.min((g1, g2) -> g1.getDurchschnittsEinkommen() - g2.getDurchschnittsEinkommen())
|
||||
.get();
|
||||
}
|
||||
|
||||
public Gebiet getGebietMaxEinwohner() {
|
||||
|
||||
return null;
|
||||
return gebiete.stream()
|
||||
.filter(g -> g.getDurchschnittsEinkommen() != -1)
|
||||
.max((g1, g2) -> g1.getAnzahlEinwohner() - g2.getAnzahlEinwohner())
|
||||
.get();
|
||||
}
|
||||
|
||||
public int getAnzahlGesamt() {
|
||||
return 0;
|
||||
return gebiete.size();
|
||||
}
|
||||
|
||||
public int getAnzahlUnvollstaendig() {
|
||||
|
||||
return 0;
|
||||
return (int) gebiete.stream()
|
||||
.filter(g -> g.getDurchschnittsEinkommen() == -1 || g.getGesamtEinkommen() == -1)
|
||||
.count();
|
||||
}
|
||||
|
||||
public List<Gebiet> getGebietNachNamen(String namensanfang) {
|
||||
|
||||
return null;
|
||||
return gebiete.stream()
|
||||
.filter(g -> g.getName().startsWith(namensanfang))
|
||||
.toList();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user