求解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了