Come altri hanno sottolineato, è possibile implementare le valigie commutazione all'interno di un metodo che prende un parametro, che corrisponde al caso interruttore desiderato. Questi casi di commutazione possono chiamare ricorsivamente lo stesso metodo, con i casi di commutazione desiderati. Ecco un esempio pienamente funzionante che ti consente di verificare se un anno è bisestile o no:
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;
}
}
}
fonte
2017-08-08 21:10:27
Non penso, perché vuoi farlo? –
L'utilizzo di "switch-case" ha lo scopo di rendere il codice più facile da capire, non cercare di complicarlo troppo. – Maroun
Rilevante [passaggio di un valore da un caso a un altro nell'istruzione switch] (http://stackoverflow.com/questions/16621708/passing-a-value-from-one-case-to-another-in-switch-statement) –