Compare commits

..

No commits in common. "master" and "readfile" have entirely different histories.

9 changed files with 13 additions and 121 deletions

View File

@ -1,3 +1,5 @@
Jahr;Schlüssel;Region;verfügbares Einkommen der privaten Haushalte;verfüg. Einkommen der priv. Haushalte je Einwohner
;;;Tsd. EUR;EUR
2016;01001;Flensburg, Kreisfreie Stadt;1602046;18481 2016;01001;Flensburg, Kreisfreie Stadt;1602046;18481
2016;01002;Kiel, Landeshauptstadt, Kreisfreie Stadt;4643584;18810 2016;01002;Kiel, Landeshauptstadt, Kreisfreie Stadt;4643584;18810
2016;01003;Lübeck, Hansestadt, Kreisfreie Stadt;4237638;19575 2016;01003;Lübeck, Hansestadt, Kreisfreie Stadt;4237638;19575

1 2016 Jahr 01001 Schlüssel Flensburg, Kreisfreie Stadt Region 1602046 verfügbares Einkommen der privaten Haushalte 18481 verfüg. Einkommen der priv. Haushalte je Einwohner
1 Jahr Schlüssel Region verfügbares Einkommen der privaten Haushalte verfüg. Einkommen der priv. Haushalte je Einwohner
2 Tsd. EUR EUR
3 2016 01001 01001 Flensburg, Kreisfreie Stadt Flensburg, Kreisfreie Stadt 1602046 1602046 18481 18481
4 2016 01002 01002 Kiel, Landeshauptstadt, Kreisfreie Stadt Kiel, Landeshauptstadt, Kreisfreie Stadt 4643584 4643584 18810 18810
5 2016 01003 01003 Lübeck, Hansestadt, Kreisfreie Stadt Lübeck, Hansestadt, Kreisfreie Stadt 4237638 4237638 19575 19575

View File

@ -1,13 +0,0 @@
# G91_Einkommen
Entwickeln Sie ein Java Programm zur Anzeige des gebietsabhängigen Durchschnittseinkommens von Bundesbürgern auf der Konsole.
## Beteiligte
- Jan-Philipp Schulte
- Malte Schulze Hobeling
- Reshad Meher
- Richard Reiswich
- Johannes Kantz
[GitTea Repo](https://git.bib.de/Homeoffice/passivesEinkommen)

View File

@ -1,35 +0,0 @@
import java.util.List;
import java.util.Scanner;
public class EinkommenInfo {
public static void main(String[] args) {
System.out.println("Übersicht über Bevölkerungszahl und Einkommen in Deutschland");
GebietsDatei datei = new GebietsDatei("Einkommen.csv");
List<Gebiet> gebiet = datei.getGebiete();
GebietsListe gebietsListe = new GebietsListe(gebiet);
System.out.println(gebietsListe.getAnzahlGesamt() + " Gebiete wurden eingelesen.");
System.out.println(gebietsListe.getAnzahlUnvollständig() + " davon haben unvollständige Angaben.\n");
System.out.println("Gebiet mit dem geringsten Durchschnittseinkommen:");
System.out.println(gebietsListe.getGebietMinDurchschnittsEinkommen());
System.out.println("Gebiet mit der größten Einwohernzahl:");
System.out.println(gebietsListe.getGebietMaxAnzahlEinwohner());
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("Name des Gebietes: ");
String input = sc.nextLine();
if (input.isEmpty()) {
break;
}
List<Gebiet> foundAreas = gebietsListe.getGebieteNachNamen(input);
for (Gebiet area : foundAreas) {
System.out.println(area);
}
System.out.println(foundAreas.size() + " Gebiete wurden gefunden.\n");
}
sc.close();
}
}

View File

@ -1,5 +0,0 @@
import java.util.ArrayList;
public interface GebiesDateiInterface {
ArrayList<Gebiet> getGebiete();
}

View File

@ -1,4 +1,5 @@
public class Gebiet implements GebietInterface {
public class Gebiet implements GebietInterface{
private int jahr; private int jahr;
private int schlüssel; private int schlüssel;
private String name; private String name;
@ -30,31 +31,16 @@ public class Gebiet implements GebietInterface {
@Override @Override
public long getGesamtEinkommen() { public long getGesamtEinkommen() {
if (gesamtEinkommen <= 0) {
return -1;
}
return gesamtEinkommen; return gesamtEinkommen;
} }
@Override @Override
public int getDurchschnittsEinkommen() { public int getDurchschnittsEinkommen() {
if (durchschnittsEinkommen <= 0) {
return -1;
}
return durchschnittsEinkommen; return durchschnittsEinkommen;
} }
@Override @Override
public int getAnzahlEinwohner() { public int getAnzahlEinwohner() {
return (int) (gesamtEinkommen * 1000 / durchschnittsEinkommen); return 0;
}
@Override
public String toString() {
if (getDurchschnittsEinkommen() <= 1 || getGesamtEinkommen() <= 1) {
return getName() + "\n" + "Einwohnerzahl unbekannt\n" + "Durchschnittseinkommen unbekannt\n";
}
return getName() + "\n" + getAnzahlEinwohner() + " Einwohner\n" + getDurchschnittsEinkommen()
+ " Euro / Einwohner\n";
} }
} }

View File

@ -2,7 +2,7 @@ import java.nio.file.Files;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList; import java.util.ArrayList;
public class GebietsDatei implements GebiesDateiInterface { public class GebietsDatei {
private String dateiName; private String dateiName;
@ -15,9 +15,7 @@ public class GebietsDatei implements GebiesDateiInterface {
try { try {
Files.readAllLines(Paths.get(dateiName)).forEach(line -> { Files.readAllLines(Paths.get(dateiName)).forEach(line -> {
String[] parts = line.split(";"); String[] parts = line.split(";");
gebiete.add(new Gebiet(Integer.parseInt(parts[0]), Integer.parseInt(parts[1]), parts[2], gebiete.add(new Gebiet(Integer.parseInt(parts[0]), Integer.parseInt(parts[1]), parts[2], Long.parseLong(parts[3]), Integer.parseInt(parts[4])));
(parts[3].equals("-")) ? -1 : Long.parseLong(parts[3]),
(parts[4].equals("-")) ? -1 : Integer.parseInt(parts[4])));
}); });
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();

View File

@ -1,40 +1,3 @@
import java.util.ArrayList; public class GebietsListe {
import java.util.List;
public class GebietsListe implements GebietsListeInterface{
private List<Gebiet> gebiete = new ArrayList<>();
public GebietsListe(List<Gebiet> gebiete) {
this.gebiete = gebiete;
}
public Gebiet getGebietMinDurchschnittsEinkommen() {
return gebiete.stream()
.filter(g -> g.getDurchschnittsEinkommen() != -1)
.min((g1, g2) -> g1.getDurchschnittsEinkommen() - g2.getDurchschnittsEinkommen())
.get();
}
public Gebiet getGebietMaxAnzahlEinwohner() {
return gebiete.stream()
.filter(g -> g.getDurchschnittsEinkommen() != -1)
.max((g1, g2) -> g1.getAnzahlEinwohner() - g2.getAnzahlEinwohner())
.get();
}
public int getAnzahlGesamt() {
return gebiete.size();
}
public int getAnzahlUnvollständig() {
return (int) gebiete.stream()
.filter(g -> g.getDurchschnittsEinkommen() == -1 || g.getGesamtEinkommen() == -1)
.count();
}
public List<Gebiet> getGebieteNachNamen(String namensanfang) {
return gebiete.stream()
.filter(g -> g.getName().startsWith(namensanfang))
.toList();
}
} }

View File

@ -1,9 +0,0 @@
import java.util.List;
public interface GebietsListeInterface {
Gebiet getGebietMinDurchschnittsEinkommen();
Gebiet getGebietMaxAnzahlEinwohner();
int getAnzahlGesamt();
int getAnzahlUnvollständig();
List<Gebiet> getGebieteNachNamen(String namensanfang);
}

5
src/Main.java Normal file
View File

@ -0,0 +1,5 @@
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}