需要帮助创建简化密码

时间:2016-09-20 18:42:08

标签: java

我正在为课堂制作一个简单的程序,将各种物品的价格加在一起。  它总计后要求输入密码;如果输入正确,它将(最终)允许用户查看普通用户无法看到的信息。我一直遇到的问题是它不会接受密码。即使输入正确,每次都会说错误的密码。我是一个非常初学者,非常感谢你的帮助!在boolean admin = false;和下一组代码之间,我只有一些公式和System.out。决定加入它们并不重要。

boolean admin = false;

System.out.printf("Your total comes to %.2f", totalPrice);
kbd.nextLine();
System.out.println();
System.out.println("Enter the password.");
String password = kbd.nextLine();
if (password.equals(admin)) {
    System.out.println("You are now logged in.");
} else {
    System.out.println("Incorrect Password.");
}

2 个答案:

答案 0 :(得分:1)

if条件下您的比较错误。您正在检查Stringboolean的平等性。

更改您的if条件,如下所示

if (password.equals("admin"))

注意:字符串值始终用双引号括起来。

答案 1 :(得分:1)

每当您想要写一个字符串文字时,请用双引号括起文字!

在您的代码中,admin引用名为admin的变量的值,即false。当你写password.equals(admin)时,它相当于写password.equals(false)。因此,if语句将始终失败,并且始终执行else子句。

从评论中,我看到您希望密码为admin。因此,您应该将password变量与实际的String进行比较:

if (password.equals("admin"))

IMO,您应该将字符串"admin"提取为常量:

final String PASSWORD = "admin";

然后你可以这样比较:

if (password.equals(PASSWORD))

因此,每次要更改密码时,都要更改常量!