&&逻辑运算符不起作用,但||运营商做了[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了&&逻辑运算符不起作用,但||运营商做了[关闭]相关的知识,希望对你有一定的参考价值。

我的&&逻辑运算符将无法工作,并始终返回false并返回第二个条件为true。但它对||非常有效运营商。我做错了什么?

我尝试使用||运算符,它工作正常,但我想使用&&运算符

@FXML
private void loginFunction() throws IOException {

    String username = this.username.getText();
    String password = this.username.getText();

    if (username.equals("username") && password.equals("password")) {

        // This Code is used to alert the user of any information in case the username
        // and password is all correct
        Alert alert2 = new Alert(Alert.AlertType.CONFIRMATION);
        alert2.setHeaderText("Login Successful");
        alert2.setTitle("Welcome");
        alert2.setContentText("Pleae Wait. You shall be redirected soon.");
        alert2.show();
    } else {
        Alert alert3 = new Alert(Alert.AlertType.WARNING);
        alert3.setTitle("Intruder Found");
        alert3.setContentText("Either your username or password is incorrect. Please try again.");
        alert3.setHeaderText("Enter the Right Details");
        alert3.show();
        return;
    }
}

我希望第一个条件返回为真,但事实并非如此。对于||,情况并非如此运营商。

答案

好吧

String username = this.username.getText();
String password = this. username.getText();

意味着你的两个领域是相同的。改变它,像,

String username = this.username.getText();
String password = this.password.getText();

因为username中的文本不能同时是“用户名”和“密码”。

另一答案

更改

String password = this.username.getText();

如,

String password = this.password.getText();

以上是关于&&逻辑运算符不起作用,但||运营商做了[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

25短路逻辑运算符

25短路逻辑运算符

空值和逻辑运算符不起作用

在循环条件下使用逻辑运算符

当其中一个变量为 False 时 (&&) 不返回 False [关闭]

逻辑运算符的作用