HashSet练习 根据用户名密码注册账户
2015-08-30 14:53
281 查看
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("注册失败..."); } } } }
package cn.itcastset; public class Demo4 { public static void main(String[] args) { String str1 = "hello"; String str2 = new String("hello"); System.out.println("两个是同一个对象吗?"+(str1==str2)); System.out.println("str1的hashCode:"+ str1.hashCode()); System.out.println("str2的hashCode:"+ str2.hashCode()); /* * HashCode默认情况下表示的是内存地址,String 类已经重写了 * Object的hashCode方法了。 注意: 如果两个字符串的内容一致,那么返回的hashCode 码 肯定也会一致的。 * */ } }
相关文章推荐
- 1.在写TextView 和ImageView 使用Selector切换字体颜色和图片的时候遇到定义的selector无效?
- A、Senior's Array-------(BestCoder Round #47)
- 华为面试:字符逆序
- 关于Java--i++/++i问题
- 电信F412
- ubuntu 14.04 如何降低温度和风扇转速
- CentOS yum upgrade, Error Loaded plugins: fastestmirror
- OSPF链路简单密码认证
- PHP判断字符是否为字母/数字检测/password_hash密码加密
- rust:打印变量地址
- Python入门
- MFC Radio Button 使用 分组 RadioButton 用法
- MongoDB (八) MongoDB 文档操作
- C#对字符串加密解密
- 20个响应式网页设计中的“神话”误区
- 计算器
- 使用字符生成器的reverse功能的会问字符串的检测
- The Java EE 6 Tutorial Maintaining Client State
- Windows Azure Compute Emulator无法启动问题解决方案
- 二进制