package UE03_170924_Map_Birthdays; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.TreeSet; public class UE03_Birthdays { public static void main(String[] args) { Path datei = Path.of("src/UE03_170924_Map_Birthdays/birthdays.txt"); BirthdayDatamining birthdayDatamining = new BirthdayDatamining(datei); System.out.println("In \"HelloWorld!2\" sind folgende Zeichen" + new HashMap<>(zeichenStatistik("HelloWorld!2"))); System.out.println("In der Datei \"birthdays.txt\" sind folgende Zeichen" + new HashMap<>(zeichenStatistik(datei))); testBirthday(); System.out.println("Der Mittelwert ist: " + birthdayDatamining.arithmeticMiddle()); System.out.println("Das häufigste Jahr ist: " + birthdayDatamining.mostCommonYear()); System.out.println("Anzahl Geburtstage pro Monat" + birthdayDatamining.birthdaysPerMonth()); System.out.println("Am 22. Mai haben " + birthdayDatamining.birthdaysOnDate(22, 5) + " Geburtstag"); System.out.println("Am 24. Dezember haben " + birthdayDatamining.birthdaysOnDate(24, 12) + " Geburtstag"); System.out.println("In einem Schaltjahr geboren: " + birthdayDatamining.leapYear()); System.out.println("Der Jüngste hat Geburtstag am: " + birthdayDatamining.youngestBirthday()); System.out.println("Der Älteste hat Geburtstag am: " + birthdayDatamining.oldestBirthday()); System.out.println("Geburtstag des jüngsten Lehrers: " + birthdayDatamining.youngestTeacherYear()); System.out.println("Es gibt " + birthdayDatamining.howManyTeacher() + " Lehrer"); System.out.println("Der erste und Letzte Lehrer-Geburtstag ist: " + birthdayDatamining.teacherList().getFirst() + ", " + birthdayDatamining.teacherList().getLast()); System.out.println("Der erste und Letzte Schüler-Geburtstag ist: " + birthdayDatamining.studentList().getFirst() + ", " + birthdayDatamining.studentList().getLast()); System.out.println("Anzahl der Personen die sich einen Geburtstag teilen: " + birthdayDatamining.sameBirthday()); } public static Map zeichenStatistik(String text) { if (text == null) return new HashMap<>(); Map statistic = new HashMap<>(); for (char letter : text.toCharArray()) statistic.put(letter, statistic.getOrDefault(letter, 0.0) + 1); return statistic; } public static Map zeichenStatistik(Path datei) { if (datei == null) return new HashMap<>(); Map statistic = new HashMap<>(); try { for (String line : Files.readAllLines(datei)) for (char letter : line.toCharArray()) statistic.put(letter, statistic.getOrDefault(letter, 0.0) + 1); } catch (IOException e) { return new HashMap<>(); } return statistic; } public static void testBirthday() { Set test = new TreeSet<>(); Birthday test0 = new Birthday("01.02.3000"); Birthday test1 = new Birthday("02.02.3000"); Birthday test2 = new Birthday("02.02.3000"); Birthday test3 = new Birthday("01.02.4000"); test.add(test0); test.add(test1); test.add(test2); test.add(test3); System.out.println("Test von Sortieren: " + test); } }