преобразовать оператор if в swicth - PullRequest
0 голосов
/ 31 мая 2018

Может ли эта программа быть преобразована в оператор switch?

if (Month * Day == Year){
    System.out.println("The date is magic");
} else {
    System.out.println("The date is not magic");
}

Ответы [ 2 ]

0 голосов
/ 31 мая 2018
switch(Month*Day){
 case Year:
     System.out.println("The date is magic");
     break;

  default:
    System.out.println("The date is not magic");
    break;
}
0 голосов
/ 31 мая 2018

Чтобы сделать оператор switch, вам нужно constant выражение вроде:

switch (month * day) {
    case 2000:
        System.out.println("The date is magic");
        break;
    default:
        System.out.println("The date is not magic");
}

Но вы не можете использовать variable, вы получите constant expression required во время компиляции

switch (month * day) {
    case year:

Также

  • switch предназначен для многократного сравнения, а не только для одного
  • . Пожалуйста, соблюдайте соглашения об именах Java: attributes, variables, parameters, method должны начинаться в нижнем регистре
...