2016-05-24 85 views
-2

我想要两个字符串,以确保它们不同。 我应该如何写出语法?确保两个字符串不相等并忽略大小写

我收到这个错误持续 错误:预期 而(输入equalsIgnoreCase( “W”)。!)

Scanner scan = new Scanner(System.in): 

while((hX != eX && hY != eY) || mX != hX && mY != hY) 
     { 
      System.out.println("Move WASD: "); 
      String input = scn.nextLine(); 

      while(!(input.equalsIgnoreCase("W")) && input.!equalsIgnoreCase("A") && input.!equalsIgnoreCase("S") && input.!equalsIgnoreCase("D")) 
      { 
       //Do something 
      } 
+0

你怎么能编译这段代码? – sauumum

+0

我编辑了qn。 – user1971823

+0

您无法编写'input。!equalsIgnoreCase(“D”)',请参阅下面的解释。 – sauumum

回答

0

while(input.!equalsIgnoreCase("W"))应该

while(!(input.equalsIgnoreCase("W"))) 

如果不处理空的输入那么可能有机会NullPointerException所以我woul while(!("W".equalsIgnoreCase(input)))

作为每次更新后的代码,解决的办法是

while(!(input.equalsIgnoreCase("W")) && !(input.equalsIgnoreCase("A")) && !(input.equalsIgnoreCase("S")) && !input.equalsIgnoreCase("D"))) 
      { 
       //Do something 
      } 
0

应该

while(!(input.equalsIgnoreCase("W"))) 
       { 
        //Do something 
       }