2015-09-02 4 views
0

Я новичок в Java, и я думал, что буду практиковать самостоятельно со Scanners и Boolean. Моя проблема в том, что когда я запускаю код ниже, программа не выводит ничего, что находится внутри операторов if или else.Операторы Java if и else if, которые не производят вывод

Мой вопрос: как заставить код распечатать вывод в выражениях if и else?

Код:

import java.util.Scanner; 
public class ScannerPractice 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("\tHello!"); 
     System.out.println("\tPlease enter you're name."); 

     Scanner input= new Scanner(System.in); 
     String name; 
     name= input.next(); 

     System.out.println("\tYour name is " + name + "?" ); 

     String yn; 
     yn= input.next(); 

     if (yn=="yes") 
     { 
      System.out.println("\tThats a good name"); 
     } 
     else if (yn=="no") 
     { 
      System.out.println("\tWhy did you lie to me?"); 
      input.next(); 
      System.out.println("\tI don't think I can forgive you\n\tGoodbye forever!"); 
     } 
    } 
} 

Спасибо заранее.

ответ

3

Вы оцениваете строки с примитивным оператором равенства ==, а не оператор равенства объекта .equals()

+0

спасибо! –

1

Вы не хотите использовать ==. Вместо этого используйте .equals() для сравнения. == сравнивает сами ссылки.

+0

Спасибо вам большое! –

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