【问题标题】:Java if and else if statements not producing an output [duplicate]Java if和else if语句不产生输出[重复]
【发布时间】:2015-09-02 20:01:15
【问题描述】:

我是 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!");
        }
    }
}

提前谢谢你。

【问题讨论】:

    标签: java string boolean java.util.scanner


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 也非常感谢!