我有两个类,都"扫描"用户的名称和密码。当我尝试检查它们是否正确时,我的 if 语句总是返回"false"。
public class User{
Scanner scan = new S...
String username, pw;
public void regis(){
username = scan.nextLine();
pw = scan.nextLine();
}
public String getUsername(){
return username;
}
//same for getPw()..
}
public class Check{
Scanner scan2 = new ...;
User usr = new User();
public void check(){
String name, pass;
System.out.print("name?");
name = scan.nextLine();
System.out.print("password?");
pass = scan.nextLine();
if(name.equals(usr.getUsername()) && pass.equals(usr.getPw())){
return true;
}else{
return false;
}
}
}
结果我总是得到"假"。我尝试将username
和pw
从class User
设置为静态,它奏效了。为什么我的解决方案不起作用?
提前谢谢。
您没有在User
上调用该方法
User usr = new User();
然后,您需要调用以获取要填充username
的值并pw
usr.regis ();