2

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

switch(x)    
{    
   case a : case b: case c: case d: etc etc    
}

因为有效输入的数量比无效输入的数量要少得多,所以我想要 20 个案例。

4

3 回答 3

8

你可以做

switch(x)
{
case 'x' : case 'y': case 'z': //valid; 
break;
default: //invalid;
}
于 2013-11-08T09:27:22.623 回答
1

你能用更多的IF吗?

就像是:

if(a){} if(b){} if(c){} ... else{}

于 2013-11-08T09:28:15.303 回答
1

好吧,你可以,但还有其他方法可以做到这一点。如果我有一个String我知道是一个字符长的字符,并且如果该字符不是一组特定值中的一个(比如说"a""b"、或),我想采取一些行动"h",我会写这样的东西。"y""n"

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

switch对于大多数人来说,这似乎比使用andbreak和更直观default

请注意,如果myString这里可能有多个字符,那么它会有点混乱。

于 2013-11-08T09:32:32.233 回答