Java return 值在 if 语句中不起作用
Java return value not working in if-statement
我有一个 if 语句,它应该比较我设置为字符串的方法的 return 值,以确定接下来调用哪个方法。但是,该方法似乎没有 returning 正确的值,因为程序从不输入 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 语句中使用 return 值的部分:
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"))
我有一个 if 语句,它应该比较我设置为字符串的方法的 return 值,以确定接下来调用哪个方法。但是,该方法似乎没有 returning 正确的值,因为程序从不输入 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 语句中使用 return 值的部分:
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"))