Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java if和else if语句不生成输出_Java_String_Boolean_Java.util.scanner - Fatal编程技术网

Java if和else if语句不生成输出

Java if和else if语句不生成输出,java,string,boolean,java.util.scanner,Java,String,Boolean,Java.util.scanner,我是Java新手,我想我应该自己做一些关于扫描器和布尔运算的练习。我的问题是,当我运行下面的代码时,程序不会输出if或else语句中的任何内容 我的问题是:如何让代码打印出if和else语句中的输出 代码是: import java.util.Scanner; public class ScannerPractice { public static void main(String[] args) { System.out.println("\tHello!");

我是Java新手,我想我应该自己做一些关于扫描器和布尔运算的练习。我的问题是,当我运行下面的代码时,程序不会输出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!");
        }
    }
}

提前谢谢。

您使用的是基本相等运算符
=
而不是对象相等运算符
.equals()
您使用基本相等运算符
=
而不是对象相等运算符
.equals()来计算字符串

您不想使用
=
。使用
.equals()
进行比较<代码>=比较引用本身。

您不想使用
=
。使用
.equals()
进行比较<代码>=比较引用本身。

也非常感谢!也非常感谢你!