如何将 if 语句中的布尔值与输出 Java 进行比较



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

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);
}
}

需要更新的地方很少。这是更新的代码。我根据检查结果在末尾打印了真/假。

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));
}
}

你需要使用 equals(( 来比较两个字符串。而且无需检查usernamecheck = true.请参阅下面的示例代码并相应地进行修改。它会起作用。

if (validpassword.equals(inputpassword)) {
passwordcheck = true;
}
...
if (usernamecheck  && passwordcheck) {
checkFinal = true;
} else {
..
}

最新更新