首页 > 解决方案 > && 逻辑运算符不起作用,但是 || 运营商做

问题描述

我的 && 逻辑运算符将不起作用,并且将始终返回 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;
    }
}

我希望第一个条件返回为真,但事实并非如此。|| 情况并非如此 操作员。

标签: javajavafxlogical-operators

解决方案


那么这个

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

表示您的两个字段相同。换个样子,

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

因为里面的文字username不能同时是“用户名”和“密码”。


推荐阅读