W moim kodzie program robi coś w zależności od tekstu wprowadzonego przez użytkownika. Mój kod wygląda następująco:
switch (name) {
case text1: {
//...
break;
}
case text2: {
//...
break;
}
case text3: {
//blah
break;
}
case text4: {
//...
break;
}
Jednak kod wewnątrz przypadków text1
i text4
est taki sam. Zastanawiałem się zatem, czy byłoby możliwe wdrożenie czegoś takiego:
case text1||text4: {
//...
break;
}
Wiem, że || operator nie będzie działał w instrukcji case, ale czy mogę użyć czegoś podobnego?
1 odpowiedź
Możesz użyć obu instrukcji CASE
w następujący sposób:
case text1:
case text4:{
///...
break;
}
zobacz ten przykład: kod oblicza liczbę dni w danym miesiącu:
class SwitchDemo {
public static void main(String[] args) {
int month = 2;
int year = 2000;
int numDays = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
numDays = 31;
break;
case 4:
case 6:
case 9:
case 11:
numDays = 30;
break;
case 2:
if (((year % 4 == 0) &&
!(year % 100 == 0))
|| (year % 400 == 0))
numDays = 29;
else
numDays = 28;
break;
default:
System.out.println("Invalid month.");
break;
}
System.out.println("Liczba dni to = "
+ numDays);
}
}
i output jest taki:
Liczba dni to = 29