diff --git a/u04.zip b/u04.zip
new file mode 100644
index 0000000..6bc79ec
Binary files /dev/null and b/u04.zip differ
diff --git a/u04/.classpath b/u04/.classpath
new file mode 100644
index 0000000..d54800d
--- /dev/null
+++ b/u04/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/u04/.gitignore b/u04/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/u04/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/u04/.project b/u04/.project
new file mode 100644
index 0000000..ff02c53
--- /dev/null
+++ b/u04/.project
@@ -0,0 +1,17 @@
+
+
+ u04
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/u04/.settings/org.eclipse.core.resources.prefs b/u04/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/u04/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/u04/.settings/org.eclipse.jdt.core.prefs b/u04/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f2525a8
--- /dev/null
+++ b/u04/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/u04/src/Datum.java b/u04/src/Datum.java
new file mode 100644
index 0000000..301796a
--- /dev/null
+++ b/u04/src/Datum.java
@@ -0,0 +1,40 @@
+/** Klasse zum Abspeichern, Ausgeben und Modifizieren eines Datums */
+public class Datum {
+ public int tag;
+ public int monat;
+ public int jahr;
+
+ /** gibt zurück ob es sich bei dem Jahr des Datums um ein Schaltjahr handelt */
+ public boolean istSchaltjahr() {
+ return jahr % 4 == 0 && (jahr % 100 != 0 || jahr % 400 == 0);
+ }
+
+ /** gibt das Datum in deutscher Schreibweise aus (tt.mm.jjjj) */
+ public String getDeutscheSchreibung() {
+ return String.format("%02d.%02d.%04d", tag, monat, jahr);
+ }
+
+ /** gibt das Datum in amerikanischer Schreibweise aus (mm/tt/jjjj) */
+ public String getAmerikanischeSchreibung() {
+ return String.format("%02d/%02d/%04d", monat, tag, jahr);
+ }
+
+ /** setzt das Datum auf das Datum von Morgen */
+ public void setMorgen() {
+ tag++;
+
+ // Tage im Aktuellen Monat ermitteln
+ int tageImMonat = monat == 2 ? istSchaltjahr() ? 29 : 28 :
+ monat < 8 ? monat % 2 == 0 ? 30 : 31 : monat % 2 == 0 ? 31 : 30;
+
+ if (tag > tageImMonat) {
+ monat++;
+ tag = 1;
+ if (monat > 12) {
+ monat = 1;
+ jahr++;
+ }
+ }
+ }
+
+}