package cn.itcastset;
import java.util.HashSet;
import java.util.Scanner;
/*
需求: 接受键盘录入用户名与密码,如果用户名与密码已经存在集合中,那么就是视为重复元素,不允许添加到HashSet中。
*/
class User{
String userName;
String password;
public User(String userName, String password) {
super();
this.userName = userName;
this.password = password;
}
@Override
public String toString() {
return "{ 用户名:"+this.userName+" 密码:"+ this.password+"}";
}
@Override
public boolean equals(Object obj) {
User user = (User)obj;
return this.userName.equals(user.userName)&&this.password.equals(user.password);
}
@Override
public int hashCode() { // abc 123 , 123 abc
return userName.hashCode()+password.hashCode();
}
}
public class Demo3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
HashSet set = new HashSet();
);
while(true){
System.out.println("请输入用户名:");
String userName = scanner.next();
System.out.println("请输入密码:");
String password = scanner.next();
//创建一个对象
User user = new User(userName, password);
if(set.add(user)){
System.out.println("注册成功...");
System.out.println("当前的用户有:"+ set);
}else{
System.out.println("注册失败...");
}
}
}
}
重写eqlus与hashCode方法例子
最新推荐文章于 2020-09-09 09:59:51 发布
本文介绍了一个使用 Java 编写的简单用户注册系统,该系统利用 HashSet 的特性来防止用户名与密码重复录入。通过 Scanner 类从键盘接收输入,并通过 User 类的对象进行数据验证。
6674

被折叠的 条评论
为什么被折叠?



