2015-09-02 49 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

非常感谢! –