【发布时间】:2018-10-14 04:44:20
【问题描述】:
我正在创建一个示例登录应用程序。出于某种原因,当我在 main 方法中调用方法 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) {
greeting();
questiona();
questionb();
username();
password();
checkOne(validusername, inputusername);
checkTwo(validpassword, inputpassword);
checkFinal(usernamecheck, passwordcheck);
}
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;
}
public static boolean checkOne(String validusername, String inputusername) {
boolean usernamecheck = false;
if (validusername == inputusername) {
usernamecheck = true;
}
return usernamecheck;
}
public static boolean checkTwo(String validpassword, String inputpassword) {
boolean passwordcheck = false;
if (validpassword == inputpassword) {
passwordcheck = true;
}
return passwordcheck;
}
public 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(String[] args) {
}
public static void server(String[] args) {
}
}
【问题讨论】:
-
在你的 main 里面改成这个 -checkFinal(checkOne(validusername, inputusername),checkTwo(validpassword, inputpassword));