Initial commit

This commit is contained in:
AlexBa16
2024-11-19 08:47:16 +01:00
commit 5c6877fe23
43 changed files with 57679 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
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);
}
}