HashMap a=new HashMap();
a.put("111", new User("111"));
a.put("11", new User("11"));
a.put("1", new User("1"));
Collection e=a.values();
List list=new ArrayList();
for(Object o: e){
list.add(o);
}
Set set=a.keySet();
List use=new ArrayList();
List pwd=new ArrayList();

Scanner s = new Scanner(System.in);
System.out.println("请输入用户名:");
String userName = s.next();
System.out.println("请输入密码:");
String pwd1 = s.next();
for(Object o:list){
for(Object o1:set){
use.add(o1);
pwd.add(o);
}
}

if(use.equals(userName)&&pwd.equals(pwd1)){
System.out.println("登录成功");
showControl();
}else {
System.out.println("登录失败,");
showLogin();
}
}
老是登陆失败···请大虾们帮我看看

解决方案 »

  1.   

    gui编程的还没学到啊 才刚刚学玩基础的语法
      

  2.   

    楼主加我qq459097110 大家一起学习java编程
      

  3.   

    List use=new ArrayList();
    List pwd=new ArrayList(); 
    if(use.equals(userName)&&pwd.equals(pwd1))
    你这是在干嘛?List 和 String 怎么可能equal?当然”登陆失败“啦
      

  4.   

    那该怎么写小弟刚学JAVA不久,求解···
      

  5.   

    use.equals(userName)&&pwd.equals(pwd1)
    就是这里我不知道该怎么写
    无从下手,各位大侠帮帮忙该怎么写
      

  6.   

    if(user.contains(userName)&&pwd.contains(pwd1)){
    }
      

  7.   

    拿出每个list 中的string比较,用for循环就好了
      

  8.   

    你的use和pwd都是集合类,你看下JDK文档里面集合类List的boolean contains(Object o)方法,
    use.contains(useName)表示集合use中是否包含了useName这个元素,另外建议你用集合类的时候最好用泛型,JDK5.0的新特性。