Оператор инвертирования Java - PullRequest
0 голосов
/ 31 августа 2018

Итак, я столкнулся с интересной проблемой, которую хочу решить еще более интересным методом. Поэтому я хочу сделать заявление о переключении, которое работает следующим образом Вставка странного на вид поддельного кода:

int i = 5;
switch (i)
case 0:
this line works
break;
case 1:
this line works
break;
case 2:
this line works
break;
case 3:
this line works
break;
case 4:
this line works
break;
case 5:
this line does not work
break;
case 6:
this line works
break;

Игнорирование пропавшего без вести кода (мы все знаем, как выглядит оператор switch (если вы этого не сделаете, привет, я думаю, добро пожаловать в это странное место программирования)), и главная проблема здесь заключается в реализации такого оператора case, который работает как показано выше. Редактировать: если вы все еще не понимаете мой вопрос, я хочу, чтобы выписка с делом выводила все остальные случаи, кроме той, которую я выбрал.

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Невозможно, коммутатор может выполнять только один случай. Что вы можете сделать, это добавить для цикла, если вы действительно хотите переключиться

int i = 5;

for(n=0 ; n <= 6 ; n++){
if(n == i){
n++;
}

switch (n)
case 0:
this line works
break;
case 1:
this line works
break;
case 2:
this line works
break;
case 3:
this line works
break;
case 4:
this line works
break;
case 5:
this line does not work
break;
case 6:
this line works
break;

}

Это пропустит 5

0 голосов
/ 31 августа 2018

Просто используйте if s:

int i = 5;
if (i != 0)
    // this line works
if (i != 1)
    // this line works
if (i != 2)
    // this line works
if (i != 3)
    // this line works
if (i != 4)
    // this line works
if (i != 5)
    // this line does not work
if (i != 6)
    // this line works
...