java - 如何比较 If 语句中的 boolean 值与 Java 输出

标签 java if-statement boolean-expression

我正在创建一个 Java 程序来比较临时用户名和密码。我需要让用户知道他们的用户名和密码是否正确。如果“checkFinal”为真,我需要它来打印“欢迎”,否则打印“错误信息”。由于某种原因,我无法让它比较 boolean 值。我也需要采用不同的方法。我也愿意简化程序。欢迎所有帮助。提前致谢。

import java.util.Scanner;
public class program {
private static Scanner a;
private static String  inputusername;
private static Scanner b;
private static String  inputpassword;
private static String  validusername;
private static String  validpassword;
public static void main(String[] args) {
    compile();
}
public static void greeting() {
    System.out.println("Hello!");
    System.out.println("Note: All Things Are Case Sensitive!");
}
public static String questiona() {
    System.out.println("What Is Your Username?");
    a = new Scanner(System.in);
    inputusername = a.next();
    return inputusername;
}
public static String questionb() {
    System.out.println("What Is Your Password?");
    b = new Scanner(System.in);
    inputpassword = b.next();
    return inputpassword;
}
public static String username() {
    validusername = "username";
    return validusername;
}
public static String password() {
    validpassword = "password";
    return validusername;
}
private static boolean checkOne(String validusername, String inputusername) {
    boolean usernamecheck = false;
    if (validusername == inputusername) {
        usernamecheck = true;
    }
    return usernamecheck;
}
private static boolean checkTwo(String validpassword, String inputpassword) {
    boolean passwordcheck = false;
    if (validpassword == inputpassword) {
        passwordcheck = true;
    }
    return passwordcheck;
}
private static boolean checkFinal(boolean usernamecheck, boolean passwordcheck) {
    boolean checkFinal = false;
    if (usernamecheck == true && passwordcheck == true) {
        checkFinal = true;
    } else {
        checkFinal = false;
    }
    return checkFinal;
}
public static void compile() {
    greeting();
    questiona();
    questionb();
    boolean usernamecheck = checkOne(validusername, inputusername);
    boolean passwordcheck = checkTwo(validpassword, inputpassword);
    checkFinal(usernamecheck, passwordcheck);
}
}

最佳答案

有几个地方需要更新。这是更新后的代码。我根据检查结果在末尾打印了 true/false。

import java.util.Scanner;
public class Password {
    private static Scanner a;
    private static String  inputusername;
    private static Scanner b;
    private static String  inputpassword;
    private static String  validusername;
    private static String  validpassword;
    public static void main(String[] args) {
        compile();
    }
    public static void greeting() {
        System.out.println("Hello!");
        System.out.println("Note: All Things Are Case Sensitive!");
    }
    public static String questiona() {
        System.out.println("What Is Your Username?");
        a = new Scanner(System.in);
        inputusername = a.next();
        return inputusername;
    }
    public static String questionb() {
        System.out.println("What Is Your Password?");
        b = new Scanner(System.in);
        inputpassword = b.next();
        return inputpassword;
    }
    public static String username() {
        validusername = "username";
        return validusername;
    }
    public static String password() {
        validpassword = "password";
        return validpassword;
    }
    private static boolean checkOne(String validusername, String inputusername) {
        boolean usernamecheck = false;
        if (username().equals(inputusername)) {
            usernamecheck = true;
        }
        return usernamecheck;
    }
    private static boolean checkTwo(String validpassword, String inputpassword) {
        boolean passwordcheck = false;
        if (password().equals(inputpassword)) {
            passwordcheck = true;
        }
        return passwordcheck;
    }
    private static boolean checkFinal(boolean usernamecheck, boolean passwordcheck) {
        boolean checkFinal = false;
        if (usernamecheck && passwordcheck) {
            checkFinal = true;
        } else {
            checkFinal = false;
        }
        return checkFinal;
    }
    public static void compile() {
        greeting();
        questiona();
        questionb();
        boolean usernamecheck = checkOne(validusername, inputusername);
        //System.out.println(usernamecheck);
        boolean passwordcheck = checkTwo(validpassword, inputpassword);
        //System.out.println(passwordcheck);
        System.out.println(checkFinal(usernamecheck, passwordcheck));
    }
}

关于java - 如何比较 If 语句中的 boolean 值与 Java 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50166172/

相关文章:

Java - 如何完全静默地运行我的应用程序而不弹出任何 GUI 或命令提示符?

java - 从eclipse运行完美,但是从jar运行,返回错误JAVA

java - Android - 根据用户选择设置背景颜色

python - tensorflow 错误 : Shape must be rank 0 but is rank 1 for 'cond_1/Switch'

java - Java中评估的 boolean 表达式顺序?

java - 交叉点类型的成员

excel - 使用 VBA 搜索特定的 headers 名称,并将这些 headers 的数据分组在几个重命名列中

python - 使用 bool 选择选择一个dataframe,然后提取某一列对应的值

objective-c - Objective-C if 语句中的感叹号是什么意思?

java - 泛型类型问题