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++; + } + } + } + +}