2014-06-22 59 views
-1

我在java中創建了一個hang子手遊戲,並且遇到了一個問題。在第8行的if語句中,我檢查蘋果中的任何字符是否與用戶輸入的字符匹配。被顯示出來的誤差是(意想不到類型必需的:變量,實測值:值我被一個看似簡單的語法錯誤難倒了

Scanner input = new Scanner(System.in); 
String word1 = "apple"; 
System.out.print("Guess a letter: "); 
char guess = input.next().charAt(0); 
for(int i = 0; i <= word1.length(); i++) 
{ 
    //check to see if the char at position i equals guess 
    if(word1.charAt(i) = guess) 
    { 
     //code logic to be inserted 
    } 
} 
+6

什麼是'='?什麼是'=='? –

+0

當使用=您正在分配一個左側的變量,右側的值例如myVariable = 2. double ==是1 == 1將解析爲true並且1 == 2解析爲false的比較。 – CrazedCoder

+0

那麼你認爲'word1.charAt(i)= guess'會怎麼做?爲什麼? (鑑於錯誤消息) –

回答

5
if(word1.charAt(i) == guess)// use "==" instead of "=" 
    { 
     //code logic to be inserted 
    } 

「=」表示可變的分配值「==」指比較..

另外,如果我是你,我會用i < word1.length();而不是i <= word1.length();。潛在ArrayIndexOutOfBoundsException是從線後面尖叫......