Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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语句中不起作用_Java_If Statement_Methods_Return Value - Fatal编程技术网

Java返回值在if语句中不起作用

Java返回值在if语句中不起作用,java,if-statement,methods,return-value,Java,If Statement,Methods,Return Value,我有一个if语句,用来比较我设置为字符串的方法的返回值,以确定下一步调用哪个方法。但是,该方法似乎没有返回正确的值,因为程序从未输入if语句。我已经通过直接给变量赋值来测试了它,没有使用这个方法,从那时起它就按照预期的方式工作 以下是给我带来麻烦的方法: public String loadMenu(); { Scanner input = new Scanner(System.in); System.out.print('\u000C'); System.out.pri

我有一个if语句,用来比较我设置为字符串的方法的返回值,以确定下一步调用哪个方法。但是,该方法似乎没有返回正确的值,因为程序从未输入if语句。我已经通过直接给变量赋值来测试了它,没有使用这个方法,从那时起它就按照预期的方式工作

以下是给我带来麻烦的方法:

public String loadMenu();
{
    Scanner input = new Scanner(System.in);
    System.out.print('\u000C');
    System.out.println("**********************************************************************" + "\n" +
                       "|                  Welcome to Custom Password Maker                  |" + "\n" +
                       "**********************************************************************" + "\n" +
                                                                                                  "\n" +
                       "Please type in which option below you would like to choose"             + "\n" + "\n" +
                       "1) MAKE A PASSWORD"                                                     + "\n" +
                       "2) EXIT PROGRAM"                                                                );
    return input.nextLine();
}
下面是我尝试在if语句中使用返回值的部分:

public static void main(String[] args)
{
    Menus menu = new Menus();
    String choice = menu.loadMenu();
    System.out.println(choice);
    //choice = "1";
    if (choice == "1")
    {
        menu.makePassword();
    }
    if (choice == "2")
    {
        menu.exitProgram();
    }
    else
    {
        System.out.println("Huh...");
    }
}
当用户输入数字1时,我希望变量“choice”等于“1”,当我使用System.out.println时,它在终端中打印数字1,但它不满足if语句。

使用.equals()比较字符串,这意味着比较choice和“1”

像这样

if(choice.equals("1"))

use.equals(object equality),not==(reference equality)好的,这是正确的,但是我以前在if语句中使用过返回字符串的方法,这是第一次它不起作用。谢谢你的帮助,现在可以用了。