当前位置: 代码迷 >> J2SE >> 求解MAP比较解决方案
  详细解决方案

求解MAP比较解决方案

热度:2716   发布时间:2013-02-25 00:00:00.0
求解MAP比较
做了一个注册和登录的。

注册放到MAP,登录的时候进行比较。

大意如下:

Java code
/* * ID类,[抽象类] *///省略部分代码private String user ;private String password;//set,get的省略Map <Object,Object> idinput = new HashMap();


Java code
/* *Regigster类,继承Id *///省略部分代码System.out.println ("输入用户名:")setUser(sc.next);System.out.println ("输入密码:")setPassword(sc.next);//用户名及密码的验证idinput.put(getUser(),getPassword());//存入MAP


Java code
/* *Login类,继承ID *///用了很多方法没弄好,请提示下这该怎么写。。只实现验证新输入的用户名和密码是否在MAP里面有相对的//自己这么写的if(getUser().equals(idinput.get(o)));//别的不知道了,求指导。。


------解决方案--------------------------------------------------------
if (idinput.containsKey(getUser()) && getPassword().equals(idinput.get(getUser()))) {
...
}
------解决方案--------------------------------------------------------
楼主这种的话,就根据key(也就是用户id),取出对应的value,看是不是输入的password,如果是就说明匹配到了。

------解决方案--------------------------------------------------------
你的main方法怎么调用的?
Register和Login是两个不同的类,如果你new了两个对象,那么idinput就是不同对象里的map,里面的信息是不一样的
最简单的方法就是LZ把Id类的
Map <Object,Object> idinput = new HashMap(); //定义用户名,密码的输入
改成
static Map <Object,Object> idinput = new HashMap(); //定义用户名,密码的输入
这样Register和Login就能共享这个map了
  相关解决方案