Merge remote-tracking branch 'origin/master'

This commit is contained in:
Yasin-Eray Erdogan 2022-12-09 15:11:39 +01:00
commit f558cb059f
6 changed files with 146 additions and 7 deletions

48
src/EinkommenInfo.java Normal file
View File

@ -0,0 +1,48 @@
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 gebietsDatei = new GebietsDatei("Einkommen.csv");
List<Gebiet> gebiete = gebietsDatei.getGebiete();
GebietsListe gebietsListe = new GebietsListe(gebiete);
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:");
Gebiet tmp = gebietsListe.getGebietMinDurchschnittsEinkommen();
System.out.println(tmp.getName());
System.out.println(tmp.getAnzahlEinwohner());
System.out.println(tmp.getDurchschnittsEinkommen());
System.out.println("");
System.out.println("Gebiet mit der größten Einwohnerzahl");
tmp = gebietsListe.getGebietMaxAnzahlEinwohner();
System.out.println(tmp.getName());
System.out.println(tmp.getAnzahlEinwohner());
System.out.println(tmp.getDurchschnittsEinkommen());
System.out.println("");
System.out.print("Name des Gebietes :");
Scanner reader = new Scanner(System.in);
String eingabe = reader.nextLine();
while(!eingabe.isEmpty()) {
List<Gebiet> tmpList;
tmpList = gebietsListe.getGebieteNachNamen(eingabe);
for (Gebiet g : tmpList) {
g.getName();
g.getAnzahlEinwohner();
g.getDurchschnittsEinkommen();
System.out.println("");
}
System.out.println(tmpList.size() + " Gebiete wurden gefunden.");
System.out.print("Name des Gebietes :");
eingabe = reader.nextLine();
}
}
}

View File

@ -1,17 +1,16 @@
public class Gebiet {
public class Gebiet implements GebietInterface{
private int jahr;
private int schlüssel;
private int schluessel;
private String name;
private long gesamtEinkommen;
private int durchschnittsEinkommen;
public Gebiet(int jahr, int schlüssel, String name, long gesamtEinkommen, int durchschnittsEinkommen) {
public Gebiet(int jahr, int schluessel, String name, long gesamtEinkommen, int durchschnittsEinkommen) {
this.jahr = jahr;
this.schlüssel = schlüssel;
this.schluessel = schluessel;
this.name = name;
this.gesamtEinkommen = gesamtEinkommen;
this.durchschnittsEinkommen = durchschnittsEinkommen;
// lol
}
public int getJahr() {
@ -19,7 +18,7 @@ public class Gebiet {
}
public int getSchlüssel() {
return schlüssel;
return schluessel;
}
public String getName() {
@ -42,7 +41,7 @@ public class Gebiet {
public String toString() {
return "Gebiet{" +
"jahr=" + jahr +
", schlüssel=" + schlüssel +
", schluessel=" + schluessel +
", name='" + name + '\'' +
", gesamtEinkommen=" + gesamtEinkommen +
", durchschnittsEinkommen=" + durchschnittsEinkommen +

8
src/GebietInterface.java Normal file
View File

@ -0,0 +1,8 @@
public interface GebietInterface {
int getJahr();
int getSchlüssel();
String getName();
long getGesamtEinkommen();
int getDurchschnittsEinkommen();
int getAnzahlEinwohner();
}

View File

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

View File

@ -1,2 +1,72 @@
import java.sql.Array;
import java.util.*;
public class GebietsListe {
private List<Gebiet> gebiete;
public GebietsListe(List<Gebiet> gebiete) {
this.gebiete = gebiete;
}
public Gebiet getGebietMinDurchschnittsEinkommen(){
int gebietA = 0;
int gebietB = 0;
Gebiet gebietMitMinDurchschnittsEinkommen = null;
for (Gebiet g:gebiete) {
gebietA = g.getDurchschnittsEinkommen();
if (gebietA < gebietB) {
gebietMitMinDurchschnittsEinkommen = g;
gebietB = gebietA;
}
}
if (gebietMitMinDurchschnittsEinkommen == null) {
System.err.println("Fehler bei der Suche nach dem geringsten Durchschnittseinkommen.");
}
return gebietMitMinDurchschnittsEinkommen;
}
public Gebiet getGebietMaxAnzahlEinwohner() {
int gebietA = 0;
int gebietB = 0;
Gebiet gebietMitMaxEinwohnern = null;
for (Gebiet g:gebiete) {
gebietA = g.getAnzahlEinwohner();
if (gebietA > gebietB)
{
gebietMitMaxEinwohnern = g;
gebietB = gebietA;
}
}
if (gebietMitMaxEinwohnern == null)
{
System.err.println("Fehler bei der Suche nach den meisten Einwohnern .");
}
return gebietMitMaxEinwohnern;
}
public int getAnzahlGesamt()
{
return gebiete.size();
}
public int getAnzahlUnvollstaendig(){
int zaehler = 0;
for (Gebiet g:gebiete) {
if (g.getGesamtEinkommen() <= 0 || g.getDurchschnittsEinkommen() <= 0) {
zaehler++;
}
}
return zaehler;
}
public List<Gebiet> getGebieteNachNamen(String namensanfang) {
List<Gebiet> gebiete = new ArrayList<Gebiet>();
for (Gebiet g:gebiete) {
if (g.getName().contains(namensanfang)){
gebiete.add(g);
}
}
return gebiete;
}
}

View File

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