你可以在java中反转一个开关吗?

时间:2013-11-08 09:25:36

标签: java switch-statement invert

有没有办法反转开关,例如switch (!(x))?我正在写一个程序,我只希望用户能够输入某些字母。如果他们输入了无效的字母,他们将不得不再次输入。我正在尝试使用开关来避免做类似的事情 switch(x)
{
case a : case b: case c: case d: etc etc
}

因为有效输入的数量远小于无效输入的数量,所以我会有20个案例。

3 个答案:

答案 0 :(得分:8)

你可以做到

switch(x)
{
case 'x' : case 'y': case 'z': //valid; 
break;
default: //invalid;
}

答案 1 :(得分:1)

你能使用更多的IF吗?

类似的东西:

如果(a){} 如果(B){} 如果(C){} ... 否则{}

答案 2 :(得分:1)

嗯,你可以,但还有其他方法可以做到这一点。如果我知道的String是一个字符长,如果该字符不属于某个特定值,我想采取一些行动(让我们说"a""b""h""y""n"),我会写这样的东西。

if ( ! "abhyn".contains(myString)) {
    doStuff();
}

对大多数人来说,这似乎比使用switchbreak以及default更加直观。

请注意,如果此处的myString可能不止一个字符,那么它会有点麻烦。