我有两个班,都是"扫描"来自用户的名称和密码。当我尝试检查它们是否正确时,我的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
设置为静态,然后才有效。为什么我的解决方案不起作用?
提前致谢。
答案 0 :(得分:0)
您没有在User
User usr = new User();
然后您需要致电获取值以填充username
和pw
usr.regis ();