为什么`if(guess!='a'|| guess!='A'|| ...)`不起作用?

时间:2015-10-29 23:29:41

标签: java

这是我的代码,我知道if语句真的很长,代码可能更有效率,但我只是想知道答案,因为它让我疯了。

while (whileloop == 1)
  {
    if (guess != 'a' || guess != 'A' || guess != 'b' || guess != 'B' || guess != 'c' || guess != 'C' || guess != 'd' || guess != 'D' || guess != 'e' || guess != 'E' || guess != 'f' || guess != 'F' || guess != 'g' || guess != 'G' || guess != 'h' || guess != 'H' || guess != 'i' || guess != 'I' || guess != 'j' || guess != 'J' || guess != 'k' || guess != 'K' || guess != 'l' || guess != 'L' || guess != 'm' || guess != 'M' || guess != 'n' || guess != 'N' || guess != 'o' || guess != 'O' ||guess != 'p' || guess != 'P' || guess != 'q' || guess != 'Q' || guess != 'r' || guess != 'R' || guess != 's' || guess != 'S' || guess != 't' || guess != 'T' || guess == ' ')
    {
      System.out.println ("\nNot a Point. Try again.");
      guess = IBIO.inputChar ("If the missile is launched from Point B, which Point will the missile hit? ");
    }
    else 
      whileloop = 2;
  }

1 个答案:

答案 0 :(得分:8)

因为你想要一个逻辑和&&(不是逻辑或||)。当||使用true时,如果任何条件为||(例如字母A不是字母B,则整个表达式为真)。您可以使用带有两个ands的 if (!(guess >= 'a' && guess <= 'z') || !(guess >= 'A' && guess <= 'Z')) 。像

这样的东西
currentBuild.description = "<a href=\"${url}\">Published</a>"