Changeset 430 in Java_Quellcode_SOOP_Vorlesung
- Timestamp:
- Dec 3, 2019, 9:31:26 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
oop/Datum.java
r398 r430 30 30 31 31 /** 32 * Legt ein Datumsobjekt für den 01. Januar des übergebenen Jahres an. Keine33 * Plausibilitätsprüfung.32 * Legt ein Datumsobjekt für den 01. Januar des übergebenen Jahres an. Nutzt den 33 * Konstruktor Datum(int, int, int). Keine Plausibilitätsprüfung. 34 34 * 35 * @param j 36 * Jahr des Datums 35 * @param j Jahr des Datums 37 36 */ 38 37 public Datum(int jahr) { … … 40 39 } 41 40 41 /** 42 * Legt ein Datumsobjekt für den 01. Januar 1970 an. Nutzt den Konstruktor 43 * Datum(int). Keine Plausibilitätsprüfung. 44 */ 45 public Datum() { 46 this(1970); 47 } 48 42 49 /** 43 50 * Copy Konstruktor, legt eine Kopie des übergebenen Datum Objektes an. … … 56 63 public void erhoehe() { 57 64 switch (this.monat) { 58 case 1: 59 case 3: 60 case 5: 61 case 7: 62 case 8: 63 case 10: 64 case 12: 65 if (this.tag < 31) { 66 this.tag++; 67 } else { 68 this.tag = 1; 69 if (this.monat < 12) { 65 case 1: 66 case 3: 67 case 5: 68 case 7: 69 case 8: 70 case 10: 71 case 12: 72 if (this.tag < 31) { 73 this.tag++; 74 } else { 75 this.tag = 1; 76 if (this.monat < 12) { 77 this.monat++; 78 } else { 79 this.monat = 1; 80 this.jahr++; 81 } 82 } 83 break; 84 case 4: 85 case 6: 86 case 9: 87 case 11: 88 if (this.tag < 30) { 89 this.tag++; 90 } else { 91 this.tag = 1; 70 92 this.monat++; 93 } 94 break; 95 case 2: 96 if (this.tag < 28 || (this.tag == 28 && Datum.istSchaltjahr(this.jahr))) { 97 this.tag++; 71 98 } else { 72 this. monat= 1;73 this. jahr++;99 this.tag = 1; 100 this.monat = 3; 74 101 } 75 } 76 break; 77 case 4: 78 case 6: 79 case 9: 80 case 11: 81 if (this.tag < 30) { 82 this.tag++; 83 } else { 84 this.tag = 1; 85 this.monat++; 86 } 87 break; 88 case 2: 89 if (this.tag < 28 || (this.tag == 28 && Datum.istSchaltjahr(this.jahr))) { 90 this.tag++; 91 } else { 92 this.tag = 1; 93 this.monat = 3; 94 } 95 break; 96 default: break; 102 break; 103 default: break; 97 104 } 98 105 } … … 107 114 public static boolean istSchaltjahr(int jahr) { 108 115 // Regel: alle durch 4 teilbaren Jahre sind Schaltjahre, außer die durch 109 // 100 110 // teilbaren Jahre. Durch 400 teilbare Jahre sind degegen wiederum 116 // 100 teilbaren Jahre. Durch 400 teilbare Jahre sind degegen wiederum 111 117 // Schaltjahre 112 118 return ((jahr % 4 == 0) && (jahr % 100 != 0)) || (jahr % 400 == 0);
Note: See TracChangeset
for help on using the changeset viewer.