public static void main(String[] args) {
User user = new User();
user.setName("admin");
user.setPassword("123");
user.signIn();
}
//为什么这个方法里的this.name和this.password为null,在main方法里不是定义了吗?
public class User {
private String name;
private String password;
public void signIn(){
String okPassword = this.password;
for (int i = 0; i < 3; i++) {
System.out.print("请输入账号:");
name = scanner.next();
System.out.print("请输入密码:");
password = scanner.next();
if (name.equals(this.name) && password.equals(this.name)) {
System.out.println("登录成功!");
break;
}
else
System.out.println("登录失败!");
}
}
}
setName和setPassword方法的代码呢,放出来看看
你是不是根本没有把形参赋值给成员变量
你是这个写错了吧,而且下边直接对name赋值的啊,要么name,password在下边接收的时候就重新声明下
System.out.print("请输入账号:");
String nameInput = scanner.next();
System.out.print("请输入密码:");
String passwordInput = scanner.next();
然后再拿nameInput 跟this.name比较
name.equals(this.name) && password.equals(this.name)
后面写错了啊, 密码怎么也判断等于名称呢?应该是this.password啊
public static void main(String[] args) {
User user = new User();
user.setName("admin");
user.setPassword("123");
user.signIn();
}
//为什么这个方法里的this.name和this.password为null,在main方法里不是定义了吗?
public class User {
private String name;
private String password;
public void signIn(){
String n = new String;
String p = new String;
for (int i = 0; i < 3; i++) {
System.out.print("请输入账号:");
n= scanner.next();
System.out.print("请输入密码:");
p= scanner.next();
if (n.equals(this.name) && n.equals(this.password)) {
System.out.println("登录成功!");
break;
}
else
System.out.println("登录失败!");
}
}
}