2016-05-24 117 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 
       }