Compare commits
17 Commits
0218fe81cb
...
master
Author | SHA1 | Date | |
---|---|---|---|
91b71a30d9 | |||
43899c9192 | |||
27766e49fc | |||
f558cb059f | |||
a3aaed397f | |||
4e2778d2c5 | |||
1395a5ddc2 | |||
032c3602a7 | |||
77c4a09c6a | |||
4afbedc1a8 | |||
ed4c058713 | |||
caf5b72d90 | |||
248eae539c | |||
7cc604fad9 | |||
8f0a176d97 | |||
dfe440bde3 | |||
a6a35222eb |
@@ -8,40 +8,46 @@ public class EinkommenInfo {
|
|||||||
List<Gebiet> gebiete = gebietsDatei.getGebiete();
|
List<Gebiet> gebiete = gebietsDatei.getGebiete();
|
||||||
GebietsListe gebietsListe = new GebietsListe(gebiete);
|
GebietsListe gebietsListe = new GebietsListe(gebiete);
|
||||||
|
|
||||||
System.out.println(gebiete.getAnzahlGesamt() + " Gebiete wurden eingelesen.");
|
System.out.println(gebietsListe.getAnzahlGesamt() + " Gebiete wurden eingelesen.");
|
||||||
System.out.println(gebiete.getAnzahlUnvollständig() + " davon haben unvollständige Angaben\n");
|
System.out.println(gebietsListe.getAnzahlUnvollständig() + " davon haben unvollständige Angaben\n");
|
||||||
|
|
||||||
System.out.println("Gebiet mit dem geringsten Durchschnittseinkommen:");
|
System.out.println("Gebiet mit dem geringsten Durchschnittseinkommen:");
|
||||||
Gebiet tmp = gebietsListe.GebietMinDurchschnittsEinkommen();
|
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();
|
||||||
|
|
||||||
while(!eingabe.isEmpty()) {
|
while(!eingabe.isEmpty()) {
|
||||||
List<Gebiet> tmpList;
|
List<Gebiet> tmpList;
|
||||||
tmpList = gebiete.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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -34,7 +34,7 @@ public class Gebiet implements GebietInterface{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getAnzahlEinwohner() {
|
public int getAnzahlEinwohner() {
|
||||||
return 1;
|
return (int)(gesamtEinkommen * 1000 / durchschnittsEinkommen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -6,25 +6,47 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
public class GebietsDatei extends GebietsListe {
|
public class GebietsDatei implements GebietsDateiInterface{
|
||||||
private List<Gebiet> gebiete = new ArrayList<>();
|
private List<Gebiet> gebiete = new ArrayList<>();
|
||||||
public String dateiname;
|
public String dateiname;
|
||||||
|
|
||||||
public GebietsDatei(String dateiname) {
|
public GebietsDatei(String dateiname) {
|
||||||
this.dateiname = dateiname;
|
this.dateiname = dateiname;
|
||||||
}
|
}
|
||||||
public ArrayList<Gebiet> laden() {
|
|
||||||
|
public void laden() {
|
||||||
|
Path pfad = Paths.get(dateiname);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Path pfad = Paths.get(dateiname);
|
|
||||||
List<String> zeilen = Files.readAllLines(pfad);
|
List<String> zeilen = Files.readAllLines(pfad);
|
||||||
|
for (int i = 2; i < zeilen.size(); i++) {
|
||||||
for (zeilen : zeilen){
|
String[] teile = zeilen.get(i).split(";");
|
||||||
|
int jahr = Integer.parseInt(teile[0]);
|
||||||
|
int schlüssel = Integer.parseInt(teile[1]);
|
||||||
|
String name = teile[2];
|
||||||
|
int gesamtEinkommen;
|
||||||
|
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
catch (IOException e){
|
|
||||||
System.out.println("Die Datei kann nicht gelesen werden");
|
}
|
||||||
}
|
|
||||||
|
public List<Gebiet> getGebiete() {
|
||||||
|
laden();
|
||||||
return gebiete;
|
return gebiete;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
5
src/GebietsDateiInterface.java
Normal file
5
src/GebietsDateiInterface.java
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface GebietsDateiInterface {
|
||||||
|
List<Gebiet> getGebiete();
|
||||||
|
}
|
@@ -1,2 +1,72 @@
|
|||||||
public class GebietsListe {
|
|
||||||
|
import java.sql.Array;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class GebietsListe implements GebietsListeInterface{
|
||||||
|
private List<Gebiet> gebiete;
|
||||||
|
|
||||||
|
public GebietsListe(List<Gebiet> gebiete) {
|
||||||
|
this.gebiete = gebiete;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Gebiet getGebietMinDurchschnittsEinkommen(){
|
||||||
|
int gebietA = 0;
|
||||||
|
int gebietB = gebiete.get(0).getDurchschnittsEinkommen();
|
||||||
|
Gebiet gebietMitMinDurchschnittsEinkommen = null;
|
||||||
|
for (Gebiet g:gebiete) {
|
||||||
|
gebietA = g.getDurchschnittsEinkommen();
|
||||||
|
if (gebietA < gebietB && gebietA > 0) {
|
||||||
|
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 getAnzahlUnvollständig(){
|
||||||
|
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> gebieteNachNamen = new ArrayList<Gebiet>();
|
||||||
|
for (Gebiet g:gebiete) {
|
||||||
|
if (g.getName().contains(namensanfang)){
|
||||||
|
gebieteNachNamen.add(g);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return gebieteNachNamen;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
9
src/GebietsListeInterface.java
Normal file
9
src/GebietsListeInterface.java
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface GebietsListeInterface {
|
||||||
|
Gebiet getGebietMinDurchschnittsEinkommen();
|
||||||
|
Gebiet getGebietMaxAnzahlEinwohner();
|
||||||
|
int getAnzahlGesamt();
|
||||||
|
int getAnzahlUnvollständig();
|
||||||
|
List<Gebiet> getGebieteNachNamen(String namensanfang);
|
||||||
|
}
|
Reference in New Issue
Block a user