Używanie dwóch wartości dla jednej instrukcji case switch

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

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.