您好我有一些代码可以让Java控制台在按下特定键时执行某些操作。系统输入并存储密钥作为字符串没有麻烦,我可以打印出来确认它的工作原理。但是,代码永远不会进入条件语句,而是每次都跳转到else。这是代码:
Scanner MenuChoice = new Scanner(System.in);
Products.MenuCode = MenuChoice.next();
if(Products.MenuCode=="F")
{
//Run subprogram for finding a product.
Find.main();
}
else{
System.out.println("F - Find a Product");
System.out.println("p - Purchase a Product");
System.out.println("Q - Quit");
Scanner MenuChoice2 = new Scanner(System.in);
Products.MenuCode = MenuChoice2.next();
};
出了什么问题?
答案 0 :(得分:3)
你可以这样做
Scanner MenuChoice = new Scanner(System.in);
Products.MenuCode = MenuChoice.next();
if(Products.MenuCode.equals("F")) // use equals method
{
//Run subprogram for finding a product.
Find.main();
}
else{
System.out.println("F - Find a Product");
System.out.println("p - Purchase a Product");
System.out.println("Q - Quit");
Scanner MenuChoice2 = new Scanner(System.in);
Products.MenuCode = MenuChoice2.next();
};
答案 1 :(得分:0)
你不能使用==比较字符串你必须使用等于方法。
equals方法的工作原理如下:
boolean b = string1.equals(string2);