2015-03-25 2 views
0

Я написал код, который должен взять в двух словах от пользователя, и если они соответствуют отображению «Вы выиграли», однако он просто отображает «ошибку» (мое заявление else) каждый раз даже если они совпадают. Я пытаюсь выяснить, почему оператор if не обнаруживает, совпадают ли они.Пользовательский ввод с помощью сканера не соответствует if statement

import java.util.*; 
class testing{ 
    public static void main(String[] args){ 
    Scanner in = new Scanner(System.in); //start scanner 
    System.out.println("Please enter word 1"); 
    String userWord =in.nextLine(); 
    System.out.println("Please enter word 2"); 
    String userGuessInput = in.nextLine(); 
    if(userWord == userGuessInput){ 
     System.out.println("You have won!"); 
    } 
    else{ 
     System.out.println("error"); 
    } 
} 
} 

ответ

2

Использование equals() для сравнения строк

if(userWord.equals(userGuessInput)){ 
     System.out.println("You have won!"); 
    } 
    else{ 
     System.out.println("error"); 
    } 

equals() сравнить значения переменных и

== тесты на равенство ссылок

Check

Смежные вопросы