2015-03-24 2 views
0

Я пишу простой код для проверки значения, которое было введено для моего постоянного значения.Условие IF для строк

Я объявил этот код как постоянное значение.

String LetMeThrough = "drunk"; 
String GotAnID = "drunk"; 

Это код целиком.

import java.util.Scanner; 

public class Main { 

public static void main(String[] args) { 
    Scanner DrunkTest = new Scanner(System.in); 

    String InputDrunk; 
    String InputDrunkAgain; 

    String LetMeThrough = "drunk"; 
    String GotAnID = "drunk"; 



    System.out.print("Type drunk: "); 
    InputDrunk= DrunkTest.next(); 
    System.out.print("Re Type drunk: "); 
    InputDrunkAgain = DrunkTest.next(); 

    if(InputDrunk == LetMeThrough & InputDrunkAgain == GotAnID){ 
     System.out.print("You're not DRUNK"); 
    } 
    else 
     System.out.print("You're F***** DRUNK"); 

}} 

Проблема в том, что если я напечатаю «пьяный» на обоих. Я получу «Ты F ****** DRUNK» вместо «Ты не ПЫТАЕТСЯ». Когда введенные значения совпадают с моими постоянными значениями.

+4

много раз уже ответил на этот вопрос ... – drgPP

+0

Извините, я не знал об этом. –

+0

'String.equals()' заставил меня ненавидеть Java, как только я столкнулся с ней в первый раз. – Bmo

ответ

5

Вы должны использовать String::equals способ сравнения.

+0

Я проверю, что –

+0

Спасибо, Jordi, я получил его сейчас :) –

+0

не связан с вопросом, но: в именах переменных 'Java' ДОЛЖНЫ начинаться с' lowercase', поэтому 'String myString;' только 'java classes' начинаются с' UPPERCASE 'so' public class Main' –