Compare commits
	
		
			32 Commits
		
	
	
		
			c791c99238
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 91b71a30d9 | |||
| 43899c9192 | |||
| 27766e49fc | |||
| f558cb059f | |||
| a3aaed397f | |||
| 4e2778d2c5 | |||
| 1395a5ddc2 | |||
| 032c3602a7 | |||
| 77c4a09c6a | |||
| 4afbedc1a8 | |||
| ed4c058713 | |||
| caf5b72d90 | |||
| 248eae539c | |||
| 7cc604fad9 | |||
| 0218fe81cb | |||
| 5bce0a0c4d | |||
| cc39b7f240 | |||
| 25ff282f27 | |||
| a75a69163c | |||
| d45ae26461 | |||
| d6685d8020 | |||
| 8f0a176d97 | |||
| becadc63be | |||
| dfe440bde3 | |||
| 34346f757b | |||
| a6a35222eb | |||
| 50cce6a92b | |||
| e354008525 | |||
| 4bf60ccb90 | |||
| c32db9b1ab | |||
| e1e12f98be | |||
| cb0cddd56b | 
							
								
								
									
										54
									
								
								src/EinkommenInfo.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								src/EinkommenInfo.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| 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.getAnzahlUnvollständig() + " 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() + " Einwohner"); | ||||
|         System.out.println(tmp.getDurchschnittsEinkommen() + " Euro / Einwohner"); | ||||
|         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() + " Einwohner"); | ||||
|         System.out.println(tmp.getDurchschnittsEinkommen() + " Euro / Einwohner"); | ||||
|         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) { | ||||
|                 System.out.println(g.getName()); | ||||
|                 if(g.getDurchschnittsEinkommen() > 0) { | ||||
|                     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(tmpList.size() + " Gebiete wurden gefunden."); | ||||
|             System.out.println(); | ||||
|             System.out.print("Name des Gebietes : "); | ||||
|             eingabe = reader.nextLine(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -1,13 +1,13 @@ | ||||
| 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; | ||||
| @@ -18,7 +18,7 @@ public class Gebiet { | ||||
|     } | ||||
|  | ||||
|     public int getSchlüssel() { | ||||
|         return schlüssel; | ||||
|         return schluessel; | ||||
|     } | ||||
|  | ||||
|     public String getName() { | ||||
| @@ -34,14 +34,14 @@ public class Gebiet { | ||||
|     } | ||||
|  | ||||
|     public int getAnzahlEinwohner() { | ||||
|         return 1; | ||||
|         return (int)(gesamtEinkommen * 1000 / durchschnittsEinkommen); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     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
									
								
							
							
						
						
									
										8
									
								
								src/GebietInterface.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| public interface GebietInterface { | ||||
|     int getJahr(); | ||||
|     int getSchlüssel(); | ||||
|     String getName(); | ||||
|     long getGesamtEinkommen(); | ||||
|     int getDurchschnittsEinkommen(); | ||||
|     int getAnzahlEinwohner(); | ||||
| } | ||||
| @@ -1,12 +1,54 @@ | ||||
| import java.lang.reflect.Array; | ||||
| import java.io.IOException; | ||||
| import java.nio.file.Files; | ||||
| import java.nio.file.Path; | ||||
| import java.nio.file.Paths; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| public class GebietsDatei { | ||||
|  | ||||
| public class GebietsDatei implements GebietsDateiInterface{ | ||||
|     private List<Gebiet> gebiete = new ArrayList<>(); | ||||
|     public String dateiname; | ||||
|  | ||||
|     public GebietsDatei(String dateiname) { | ||||
|         this.dateiname = dateiname; | ||||
|     } | ||||
|  | ||||
|     public void laden() { | ||||
|         Path pfad = Paths.get(dateiname); | ||||
|  | ||||
|         try { | ||||
|             List<String> zeilen = Files.readAllLines(pfad); | ||||
|             for (int i = 2; i < zeilen.size(); i++) { | ||||
|                 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(); | ||||
|         } | ||||
|  | ||||
|     } | ||||
|  | ||||
|     public List<Gebiet> getGebiete() { | ||||
|         laden(); | ||||
|         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(); | ||||
| } | ||||
							
								
								
									
										72
									
								
								src/GebietsListe.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								src/GebietsListe.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
|  | ||||
| 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