2013-05-01 5 views
-1

Вот моя проблема, оператор if не показывает messagedialog, когда я ничего не вставляю в inputdialog, но когда я использую! = Для сравнения условия, это отображение, почему это? как я знаю! = среднее значение не равно и == равноЕсли инструкция не проверяет условие

String firstName = ""; 
    String lastName = ""; 

    firstName = JOptionPane.showInputDialog("Please enter your first name"); 

    if (firstName == "") { 
     JOptionPane.showMessageDialog(null, "Don't leave it blank!"); 
    } else 
    { 
     lastName = JOptionPane.showInputDialog("Please enter your last name"); 
    } 

    String msg = "Hello " + firstName + lastName + "!"; 
    JOptionPane.showMessageDialog(null, msg); 
+0

Да, вы правы - Java, очевидно, сломана. Отмечает, что вы пытаетесь сравнить строки с '=='. –

ответ

3

Одна из самых распространенных ошибок в Java. Строка требует .equals(), а не ==.

Неправильно:

if (str == "foo") { 

} 

Справа:

if ("foo".equals(str)) { // done in this order to avoid NPE 

} 
+0

круто! это сработало! – PotterWare

+0

Тогда примите этот ответ, и мы все закончили здесь: D – nook

+0

еще 4 минуты, чтобы принять ответ, dunno why :( – PotterWare

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