机器人IP注册问题,带你了解map集合中contains的用法
一、关于map集合的简单知识点
- Map集合:Map<K,V>;
- 特点:无序,由key(键)和Value(值)组成;
- 一个键对应一个值,不能有重复的键;
- Map是一个接口,无法创建对象,需要通过实现类去创建;
二、map中contains的基本介绍
- containsKey(key):用来查找map中是否存在某个键
- containsValue():用来查找map中是否存在某个值
三、题目要求
腾讯课堂针对目前机器人注册较多的情况,考虑到家庭用户同IP的情况存在, 采取了同一个IP地址最多只能申请三个账号,请完成相关功能的实现!
四、代码实现
public class Register {public static void main(String[] args) {// 创建键盘扫描器Scanner key = new Scanner(System.in);// 创建一个map集合存储用户信息Map map = new HashMap();Set set = map.keySet();// IP地址:192.168.111.111boolean flag = true;while (flag) {// 提示用户输入自己的IP地址System.out.println(\"请输入您的IP地址:\");// 接收用户输入的IPString IP = key.next();// 判断IP地址是否存在if (map.containsValue(IP)) {// 如果map集合里面有IP,则提示用户已经注册过了System.out.println(\"您已经注册此IP!\");} else {// 如果不存在,则重新注册// 显示当前数据库System.out.println(\"当前数据库为:\" + map);System.out.println(\"==========================\");// 输入姓名System.out.println(\"请输入您的姓名:\");// 接收Register.name = key.next();// 提示输入身份证System.out.println(\"请输入您的身份证号:\");// 接收身份证String ID = key.next();//判断ID是否存在if(map.containsKey(ID)) {System.out.println(\"该身份证号已经被注册!\");}else {// 将姓名和IP存入集合中map.put(Register.name, IP);//将姓名和身份证号存入集合map.put(ID,name );// 输出集合中的内容System.out.println(\"注册成功!\");}// 提示输入IPSystem.out.println(\"请输入您的IP:\");// 接收IP并显示当前数据库String IP1 = key.next();// 判断当前IP是否和前面的IP一致if (IP1.equals(IP)) {// 显示数据库System.out.println(\"当前数据库为:\" + map);System.out.println(\"=========================\");} else {// 提示用户IP不一致,请重新注册System.out.println(\"您的IP不匹配,请重新注册!\");}}}key.close();}// 定义用户信息(姓名和年龄)private static String name;private static int age;// set get 方法public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}// 无参构造public Register() {super();}// 有参构造器public Register(String name, int age) {super();this.name = name;this.age = age;}}
五、运行效果图
今日分享就到这儿了,喜欢的朋友可以私信我哟!