2017-08-10 147 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]))