Switch-Case

Video

Mit dem Laden des Videos akzeptierst du die Datenschutzerklärung von YouTube. Wenn du die Menge an Daten reduzieren möchtest, die YouTube von dir sammelt, solltest du dich vorher aus deinem YouTube-Account ausloggen, das Speichern von Cookies für das Google-Ads-Programm deaktivieren und/oder Cookies im Browser blockieren.

YouTube immer automatisch laden
Inhaltsverzeichnis
Als Text lesen

Folgendes Beispiel:

int someNumber = // ... irgendein Wert
if (someNumber == 1 || someNumber == 2 || someNumber == 3) {
System.out.println("someNumber ist 1, 2, oder 3");
} else if (someNumber == 4 || someNumber == 5) {
System.out.println("someNumber ist 4 oder 5");
} else if (someNumber == 6) {
System.out.println("someNumber ist 6");
} else {
System.out.println("someNumber ist nicht in [1, 6]");
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Hier wird abhängig von einer Variable someNumber ein Text ausgegeben. Allerdings können Verkettungen von Äquivalenz-Abfragen dieser Art schnell unübersichtlich werden. Dafür gibt es eine schönere Variante: switch case

Mit einer switch case Abfrage lässt sich eine bestimmte Eingabe auf Gleichheit mit unterschiedlichen Werten prüfen. Es gibt mittlerweile zwei unterschiedliche Varianten von switch case:

Das "alte" und das "neue".

Das "alte" switch case

int someNumber = // ... irgendein Wert
switch (someNumber) {
case 1, 2, 3:
System.out.println("someNumber ist 1, 2, oder 3");
break;
case 4, 5:
System.out.println("someNumber ist 4 oder 5");
break;
case 6:
System.out.println("someNumber ist 6");
break;
default:
System.out.println("someNumber ist nicht in [1, 6]");
break;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Hiermit kannst du die selbe Eingabe (hier someNumber) auf Gleichheit mit mehreren Werten prüfen. Die einzelnen cases entsprechen den if Abfragen.

Das default Keyword wird verwendet, um alle anderen Fälle abzudecken. Es entspricht also dem else bei if else.

Achtung!

Jeder case sollte durch ein break beendet werden. Dieses sorgt dafür, dass das switch Statement beendet wird, sobald einmal eine Übereinstimmung gefunden wurde.

Wenn das break weggelassen wird, können ungewollte Effekte auftreten:

switch (2) {
case 1:
System.out.print("A");
case 2:
System.out.print("B");
case 3:
System.out.print("C");
default:
System.out.print("D");
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Der obige Code gibt BCD auf der Konsole aus, nicht B!
Dieses Verhalten nennt man fall-through.

Das "neue" switch case

int someNumber = // ... irgendein Wert
switch (someNumber) {
case 1, 2, 3 -> {
System.out.println("someNumber ist 1, 2, oder 3");
}
case 4, 5 -> {
System.out.println("someNumber ist 4 oder 5");
}
case 6 -> {
System.out.println("someNumber ist 6");
}
default -> {
System.out.println("someNumber ist nicht in [1, 6]");
}
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Beim neuen switch case verwendest du keine Doppelpunkte, sondern Pfeile (->). Außerdem benötigst du kein break. Die Körper der einzelnen cases sind von geschweiften Klammern umgeben.

Es gibt noch eine weitere sehr nützliche Funktionalität des neuen switch case:

int month = // ... irgendein Wert
String season = switch (month) {
case 3, 4, 5 -> "Spring";
case 6, 7, 8 -> "Summer";
case 9, 10, 11 -> "Autumn";
case 12, 1, 2 -> "Winter";
default -> null;
};
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Hier verhält sich das switch case wie ein Ausdruck, der zu einem bestimmten Wert evaluiert. Die einzelnen cases enhalten direkt den Wert, der in dem jeweiligen Fall an season zurückgegeben werden soll.

Möchte man weiterhin mehrere Zeilen Code in einen case schreiben, so kann man ebenfalls geschweifte Klammern verwenden. Dann ist es aber notwendig, explizit anzugeben, was der Rückgabewert des switch Ausdrucks sein soll. Hierfür gibt es yield:

String season = switch (4) {
case 3, 4, 5 -> "Spring";
case 6, 7, 8 -> {
System.out.println("Es ist Sommer!");
yield "Summer";
}
case 9, 10, 11 -> "Autumn";
case 12, 1, 2 -> "Winter";
default -> null;
};
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Der yield Identifier funktioniert für das switch case ähnlich wie das return Keyword für Methoden funktioniert:

Der Wert nach yield ist der Wert, zu dem der gesamte Audruck am Ende evaluiert, falls der jeweilige case eingetreten ist.

yield lässt sich auch mit dem alten switch case verwenden.

Übersicht reservierter Wörter für Kontrollstrukturen

Keyword / Identifier Verwendung
return Beendet einen Methodendurchlauf und gibt ggf. einen Wert aus der Methode zurück
break Beendet die nächstäußere Schleife oder das nächstäußere switch case
yield Gibt einen Wert an, zu dem das switch case bei Eintritt dieses Falls evaluiert

Die Klasse Date repräsentiert einen bestimmten Tag eines bestimmten Jahres. Deine Aufgabe ist es, drei mal die gleiche Methode auf eine unterschiedliche Art und Weise zu implementieren:

  • daysInMonthIfElse() gibt die Anzahl an Tagen zurück, die der Monat month des Jahres year hat. Hierbei sollst du kein switch case verwenden, sondern ausschließlich if und else Abfragen nutzen.
  • daysInMonthSwitchCaseOld() macht genau das gleiche wie daysInMonthIfElse(). Hier sollst du aber kein if else verwenden, sondern (das alte) switch case.

    Ausnahme: Für die Überprüfung, ob der Februar 28 oder 29 Tage hat, darfst du if else verwenden.

  • daysInMonthSwitchCaseNew() macht ebenfalls das gleiche. Hier sollst du das neue switch case verwenden. (Auch hier ist nur für den Februar Check if else erlaubt.)

Hinweise

  • Falls eine Methode eine ungültige Monats-Nummer bekommt, soll -1 zurückgegeben werden
  • Die Methode isLeapYear() gibt genau dann true zurück, falls das Jahr year ein Schaltjahr ist.
  • Die Anzahl der Tage im Monat kannst du dieser Tabelle entnehmen:

    Monat 1 2 3 4 5 6 7 8 9 10 11 12
    Anzahl Tage 31 28 (Schaltjahr: 29) 31 30 31 30 31 31 30 31 30 31

Online Editor

Mit dem Laden des Online Editors akzeptierst du die Datenschutzerklärung von JDoodle, einem Produkt der Nutpan pty Ltd (Australien). JDoodle verwendet die Tools reCAPTCHA und Google Analytics, wodurch Daten an Google übertragen werden können. Ich habe leider keinen Einfluss auf diesen Prozess. Du kannst Google Analytics über ein Browserplugin deaktivieren.

Online Editor immer automatisch laden

Das Ergebnis des Beispiels sollte folgende Ausgabe produzieren:

31, 31, 31
30, 30, 30
29, 29, 29
28, 28, 28
29, 29, 29

Häufige Fehlerquellen
  • break vergessen
  • Anzahl Tage je Monat falsch eingetragen
  • yield vergessen
  • Semikolon bei switch case mit Rückgabewert vergessen
  • Sonstige Syntaxfehler (Doppelpunkt / Pfeil vergessen, Klammern falsch etc.)
Lösungsvorschlag if else
// ...
public int daysInMonthIfElse() {
if (month == 1
|| month == 3
|| month == 5
|| month == 7
|| month == 8
|| month == 10
|| month == 12) {
return 31;
} else if (month == 4
|| month == 6
|| month == 9
|| month == 11) {
return 30;
} else if (month == 2) {
if (isLeapYear()) {
return 29;
} else {
return 28;
}
} else {
return -1;
}
}
// ...
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lösungsvorschlag switch case (alt)
// ...
public int daysInMonthSwitchCaseOld() {
int result = 0;
switch (month) {
case 1, 3, 5, 7, 8, 10, 12:
result = 31;
break;
case 4, 6, 9, 11:
result = 30;
break;
case 2:
if (isLeapYear()) {
result = 29;
} else {
result = 28;
}
break;
default:
result = -1;
}
return result;
}
// ...
// - ODER -
// ...
public int daysInMonthSwitchCaseOld() {
switch (month) {
case 1, 3, 5, 7, 8, 10, 12:
return 31;
case 4, 6, 9, 11:
return 30;
case 2:
if (isLeapYear()) {
return 29;
} else {
return 28;
}
default:
return -1;
}
}
// ...
// - ODER -
// ...
public int daysInMonthSwitchCaseOld() {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lösungsvorschlag switch case (neu)
// ...
public int daysInMonthSwitchCaseNew() {
return switch (month) {
case 1, 3, 5, 7, 8, 10, 12 -> 31;
case 4, 6, 9, 11 -> 30;
case 2 -> {
if (isLeapYear()) {
yield 29; // Ergebnis aus switch zurückgeben
} else {
yield 28;
}
}
default -> -1;
};
}
// ...
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lösungsvorschlag Gesamt
public class Date {
private int year;
private int month;
private int day;
public Date(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public int daysInMonthIfElse() {
if (month == 1
|| month == 3
|| month == 5
|| month == 7
|| month == 8
|| month == 10
|| month == 12) {
return 31;
} else if (month == 4
|| month == 6
|| month == 9
|| month == 11) {
return 30;
} else if (month == 2) {
if (isLeapYear()) {
return 29;
} else {
return 28;
}
} else {
return -1;
}
}
public int daysInMonthSwitchCaseOld() {
int result = 0;
switch (month) {
case 1, 3, 5, 7, 8, 10, 12:
result = 31;
break;
case 4, 6, 9, 11:
result = 30;
break;
case 2:
if (isLeapYear()) {
result = 29;
} else {
result = 28;
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Dir gefällt meine Arbeit?

Unterstütze Mich

Interesse an einer Zusammenarbeit?


  • Entwicklung von Desktopanwendungen
  • Datenanalyse & Machine Learning
  • Automatisierte Datenverarbeitung

>> timofriedl.com <<

AllgemeinSocialRechtliches
PortfolioInstagramDatenschutz
HomeYouTubeImpressum
ÜberTikTok
Ko-fi

Made with love by a former noob.

© 2022-2025 Timo Friedl