Java if和else if语句没有产生输出

时间:2015-09-02 20:01:15

标签: java string boolean java.util.scanner

我是Java的新手,我以为自己会用Scanners和Boolean自己做一些练习。我的问题是,当我运行下面的代码时,程序不会输出if或else语句中的任何内容。

我的问题是:如何让代码打印出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!");
        }
    }
}

提前谢谢。

2 个答案:

答案 0 :(得分:3)

您正在使用基本等式运算符==而不是对象相等运算符.equals()来评估字符串

答案 1 :(得分:1)

您不想使用==。而是使用.equals()进行比较。 ==比较了引用本身。