【问题标题】:Can you invert a switch in java?你可以在java中反转开关吗?
【发布时间】:2013-11-08 09:25:36
【问题描述】:

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

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

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

【问题讨论】:

  • 这里的开关不能使用'default'吗?

标签: java switch-statement


【解决方案1】:

你可以的

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

【讨论】:

  • 休息一下;默认后我猜
  • 最后一种情况下的中断是多余的
  • @Stebra 不需要 - 在默认块之后切换无论如何都会结束
【解决方案2】:

你可以使用更多的 IF 吗?

类似:

如果(一){} 如果(b){} 如果(c){} ... 其他{}

【讨论】:

    【解决方案3】:

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

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

    对于大多数人来说,这似乎比使用 switchbreakdefault 更直观。

    请注意,如果myString 此处可能有多个字符,那就有点混乱了。

    【讨论】:

      猜你喜欢
      • 2011-06-14
      • 2023-01-05
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 2013-11-07
      • 2010-09-16
      • 2015-10-06
      相关资源
      最近更新 更多