Changeset 430 in Java_Quellcode_SOOP_Vorlesung


Ignore:
Timestamp:
Dec 3, 2019, 9:31:26 AM (5 years ago)
Author:
tr
Message:

Klasse Datum: parameterloser Konstruktor

File:
1 edited

Legend:

Unmodified
Added
Removed
  • oop/Datum.java

    r398 r430  
    3030
    3131    /**
    32      * Legt ein Datumsobjekt für den 01. Januar des übergebenen Jahres an. Keine
    33      * 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.
    3434     *
    35      * @param j
    36      *            Jahr des Datums
     35     * @param j Jahr des Datums
    3736     */
    3837    public Datum(int jahr) {
     
    4039    }
    4140
     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   
    4249    /**
    4350     * Copy Konstruktor, legt eine Kopie des übergebenen Datum Objektes an.
     
    5663    public void erhoehe() {
    5764        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;
    7092                    this.monat++;
     93                }
     94                break;
     95            case 2:
     96                if (this.tag < 28 || (this.tag == 28 && Datum.istSchaltjahr(this.jahr))) {
     97                    this.tag++;
    7198                } else {
    72                     this.monat = 1;
    73                     this.jahr++;
     99                    this.tag = 1;
     100                    this.monat = 3;
    74101                }
    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;
    97104        }
    98105    }
     
    107114    public static boolean istSchaltjahr(int jahr) {
    108115        // 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
    111117        // Schaltjahre
    112118        return ((jahr % 4 == 0) && (jahr % 100 != 0)) || (jahr % 400 == 0);
Note: See TracChangeset for help on using the changeset viewer.