在扫描仪上使用 if 语句。我写了正确的单词,但如果语句失败

问题描述 投票:0回答:1

所以,我正在尝试制作一个简单的扫描仪密码,您可以在其中输入密码,如果写入正确,它应该打印出一条消息

如果您输入正确的密码,代码应打印一条消息。但由于某种原因,当我输入正确的密码时,它只会提交到 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");
        

        
    }
}
java if-statement java.util.scanner
1个回答
-2
投票

您使用的相等运算符 (

==
) 仅在比较
Pass == Pass
password == password
时才有效。运算符比较对象。只有当它们是同一个对象时,它才会返回 true。

.equals()
将比较两个字符串的值。将
password == Pass
替换为
password.equals(Pass)
应该会得到您想要的结果。

这篇帖子很好地总结了细节。

© www.soinside.com 2019 - 2024. All rights reserved.