2015-12-20 7 views
0

Я не уверен, почему, но когда я получаю строку от пользователя, я не могу сравнивать ее в if statement, но когда я пытаюсь ее распечатать, она работает нормально.Сравнение входных значений пользователя

Часть моего кода:

  Scanner in = new Scanner(System.in); 
     while (true) { 
      String userInput; 
      int rowInput, colInput; 
      printBoard(board); 
      System.out.print("Move: "); 

      userInput = in.next(); 

      // shift board right on a row 
      if (userInput == "r") { 
       System.out.print("row #: \r"); 
       rowInput = in.nextInt(); 
       moveRight(--rowInput, board); 
      } 

Кто-нибудь знает, почему это не работает, как ожидалось?

ответ

0

Вам попробовать это:

if (userInput.equals("r")) 

== используется для сравнения address и equals используется для сравнения содержимого.

0

Я должен использовать вместо ==.

Так что это приведет к:

... 

if (userInput.equals("r")) 

...