2017-08-10 55 views
0

我是一名初學者,我嘗試使用迄今爲止學到的東西。我寫了這段代碼,如果你給它的數字是數組中的一個,我應該返回消息「你找到了幸運數字」。我使用了String.valueOf()方法,這樣我就可以掌握它了。If語句中使用String.valueOf()

問題是,即使我給出數組中的數字,我也會收到消息「您沒有找到幸運數字」。我不明白什麼是錯的。

謝謝。

import java.io.*; 

class GameHelper 
{ 
    public String getUserInput(String prompt){ 
     String inputLine = null; 
     System.out.print(prompt +" "); 
     try { 
      BufferedReader is = new BufferedReader (
      new InputStreamReader(System.in)); 
      inputLine = is.readLine(); 
      if (inputLine.length() == 0) return null; 
    } catch (IOException e) { 
     System.out.println("IOException: " + e); 
     } 
     return inputLine; 
    } 
} 

class IntArray 
{ 
    int[] numbers={1,9,8,5,6}; 
    String result="YOU HAVEN'T FOUND THE LUCKY NUMBER"; 

    String joker(String guess) 
    { 

     for(int i=0;i<numbers.length;i++) 
     { 
      if (guess==String.valueOf(numbers[i])){ 
      result="You have found the lucky number"; 
      break; 
      } 
     } 
     return result; 
    } 

} 


class ProjectMain 
{ 
    public static void main (String[] args) 
    { 
    GameHelper helper = new GameHelper(); 
    IntArray player1 = new IntArray(); 
    String x = helper.getUserInput("enter a number "); 
    System.out.println(player1.joker(x));  
    } 
} 
+0

'guess.equals(將String.valueOf(號碼[1]))' –

+0

這工作。謝謝 –

回答

1

因爲它是一個字符串,你應該使用等於

guess.equals(String.valueOf(numbers[i]))