Wie andere haben darauf hingewiesen, können Sie Ihren Switch Fälle innerhalb einer Methode implementieren, die einen Parameter annimmt, die auf die gewünschte Schaltergehäuse entspricht. Diese Switch-Fälle können rekursiv dieselbe Methode mit den gewünschten Switch-Fällen aufrufen. Hier ist ein voll funktionsfähiges Beispiel, mit dem Sie überprüfen können, ob ein Jahr ein Schaltjahr ist oder nicht:
public class LeapYear {
static int year = 2016;
public static void main(String[] args) {
leapSwitch(1);
}
public static void leapSwitch(int switchcase) {
switch (switchcase) {
case 1: {
if (year % 4 == 0) {
leapSwitch(2);
} else {
leapSwitch(5);
}
}
break;
case 2: {
if (year % 100 == 0) {
leapSwitch(3);
} else {
leapSwitch(4);
}
}
break;
case 3: {
if (year % 400 == 0) {
leapSwitch(4);
} else {
leapSwitch(5);
}
}
break;
case 4: {
System.out.println(year+ " is a leap year!");
}
break;
case 5: {
System.out.println("Not a leap year...");
}
break;
}
}
}
Ich glaube nicht, warum Sie es tun möchten? –
Verwenden Sie "switch-case", um Ihren Code leichter verständlich zu machen, versuchen Sie nicht, ihn zu komplizieren. – Maroun
Relevant [Übergeben eines Werts von einem Fall an einen anderen in switch-Anweisung] (http://stackoverflow.com/questions/16621708/passing-a-value-from-one-case-to-another-in-switch-statement) –