我是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!");
}
}
}
提前谢谢。
答案 0 :(得分:3)
您正在使用基本等式运算符==
而不是对象相等运算符.equals()
来评估字符串
答案 1 :(得分:1)
您不想使用==
。而是使用.equals()
进行比较。 ==
比较了引用本身。