65 lines
3.4 KiB
Java
65 lines
3.4 KiB
Java
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<Character, Double> zeichenStatistik(String text) {
|
|
if (text == null) return new HashMap<>();
|
|
Map<Character, Double> statistic = new HashMap<>();
|
|
for (char letter : text.toCharArray()) statistic.put(letter, statistic.getOrDefault(letter, 0.0) + 1);
|
|
return statistic;
|
|
}
|
|
|
|
public static Map<Character, Double> zeichenStatistik(Path datei) {
|
|
if (datei == null) return new HashMap<>();
|
|
Map<Character, Double> 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<Birthday> 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);
|
|
}
|
|
}
|