1   /**
2    * 183.592 Programmierpraxis TU Wien WS2014/15 H.Moritsch
3    * Berechnung der Tage eines Monats
4    */
5   public class Monatstage {
6       public static void main(String[] args) {
7   
8           int monat = 6;
9   
10          System.out.println("Monat " + monat + " hat " + tage(monat)   + " Tage");
11          System.out.println("Monat " + monat + " hat " + tageV2(monat) + " Tage");
12          System.out.println("Monat " + monat + " hat " + tageV3(monat) + " Tage");
13      }
14  
15      /**
16      * Berechnung der Anzahl der Tage eines Monats
17      * mittels if-Anweisungen
18      */
19      private static int tage(int monat) {
20          int t=0; 
21  
22          if ( monat == 1 )
23              t = 31;
24          else if ( monat == 2 )
25              t = 28;
26          else if ( monat == 3 )
27              t = 31;
28          else if ( monat == 4 )
29              t = 30;
30          else if ( monat == 5 )
31              t = 31;
32          else if ( monat == 6 )
33              t = 30;
34          else if ( monat == 7 )
35              t = 31;
36          else if ( monat == 8 )
37              t = 31;
38          else if ( monat == 9 )
39              t = 30;
40          else if ( monat == 10 )
41              t = 31;
42          else if ( monat == 11 )
43              t = 30;
44          else if ( monat == 12 )
45              t = 31;
46  
47          return t;
48      }
49  
50      /**
51      * Berechnung der Anzahl der Tage eines Monats
52      * mittels switch-Anweisung
53      */
54      private static int tageV2(int monat) {
55          int t=0; 
56  
57          switch ( monat ) {
58  
59              case 2:             // Februar
60                  t = 28;
61                  break;
62   
63              case 4:             // April
64              case 6:             // ...
65              case 9: 
66              case 11: 
67                  t = 30;
68                  break;
69  
70              case 1: 
71              case 3: 
72              case 5:
73              case 7:  
74              case 8: 
75              case 10: 
76              case 12: 
77                  t = 31;
78                  break;
79          
80          }
81  
82          return t;
83      }
84  
85      /**
86      * Berechnung der Anzahl der Tage eines Monats
87      * mittels switch-Anweisung mit default-Zweig
88      */
89      private static int tageV3(int monat) {
90          int t=0; 
91  
92          switch ( monat ) {
93  
94              case 2: 
95                  t = 28;         // Februar
96                  break;
97   
98              case 4:             // April
99              case 6:             // ...
100             case 9: 
101             case 11: 
102                 t = 30;
103                 break;
104 
105             default:            // alle anderen Monate
106                 t = 31;
107         
108         }
109 
110         return t;
111     }
112 
113 }
114