所以,我正在尝试制作一个简单的扫描仪密码,您可以在其中输入密码,如果写入正确,它应该打印出一条消息
如果您输入正确的密码,代码应打印一条消息。但由于某种原因,当我输入正确的密码时,它只会提交到 else 行。是的,我已经多次尝试了正确的密码,即使包含引号,尽管我对此表示怀疑。
import java.util.Scanner;
public class newtest {
public static void main(String[]args ) {
Scanner myObj = new Scanner(System.in);
System.out.println("Enter password");
String Pass = "Password123";
String password = myObj.nextLine();
if (password == Pass) {
System.out.println("Correct!! Password is: " + password);
}else
System.out.println("WRONG");
}
}
您使用的相等运算符 (
==
) 仅在比较 Pass == Pass
或 password == password
时才有效。运算符比较对象。只有当它们是同一个对象时,它才会返回 true。
.equals()
将比较两个字符串的值。将 password == Pass
替换为 password.equals(Pass)
应该会得到您想要的结果。
这篇帖子很好地总结了细节。