Java任务:用户添加查询

来自CloudWiki
跳转至: 导航搜索

题目介绍

  • 应用Java的接口及用法Map接口和HashMap类有关知识,
  • 创建一个用户数据仓库的接口UserDao,以及用户数据仓库接口的实现类UserDaoMap
  • 要求:UserDaoMap用HashMap集合存储数据,补充方法内部代码,并编写调用代码进行验证

实现代码

UserDao接口

package dao;

import entity.User;

public interface UserDao {
	  public void addUser(User u);//添加用户
	 
	  public void queryUser( );//查询用户	  
	  
	  public boolean hasUser(String name);//查询某个用户是否存在
	
	  public boolean verify(String name, String pwd);//验证用户名和密码是否一致
	  
}

接口的实现类UserDaoMap

UserDaoMap.java:

package dao;

import java.util.HashMap;
import dao.*;
import entity.*;

public class UserDaoMap implements UserDao{
	private  HashMap<String,User> umap;
	private int num ;
	public UserDaoMap() {
		//待补充
	}    	
	public void addUser(User u) {
		//待补充
	}
	public void queryUser( ) {//查询用户	
              //待补充  
	} 
	public boolean hasUser(String name) {//查询某个用户是否存在
                 
		              //待补充  
	}
	public boolean verify(String name, String pwd) {//验证用户名和密码是否一致
	                   //待补充  
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		UserDao uds = new UserDaoMap(); 
		System.out.println("添加用户u1...");
		User u1=new User("zhangyi","456");
		uds.addUser(u1);
		System.out.println("添加用户u2...");
		User u2=new User("ma","123456");
		uds.addUser(u2);
		
		System.out.println("、”ma\",\"123456\"是否是一对有效密码");
		uds.verify("ma","123456");
		
		System.out.println("查询u1用户是否存在:");
	    System.out.println(uds.hasUser(u1.getName()));
	    
	    //查询所有用户
	    System.out.println("查询所有用户:")
	    uds.queryUser();
	}

}

用到的其他类

User:

package entity;

public class User {
	protected String id;
    protected String name;
    protected String pwd;
    
    public User() {
    	
    }
    public User(String n,String p) {
    	this.name = n;
    	this.pwd = p;
    }
    public void setName(String name) {
    	this.name = name;
    }
    public void setPwd(String pwd) {
    	this.pwd = pwd;
    }
    public String getName() {
    	return this.name;
    }
    public String getPwd() {
    	return this.pwd;
    }
 
    public String toString() {
    	String s="";
    	s= "姓名:"+this.name + " 密码:" +this.pwd;
    	return s;
    }
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		User u1 =  new User();
		u1.setName("wangli");u1.setPwd("000000");
		System.out.println("姓名: "+u1.getName()+" 密码: "+u1.getPwd());
		User u2 = new User("chenming","123456");
		System.out.println(u2.toString());     

	}

}

完整代码

package dao;

import java.util.HashMap;
import java.util.Set;

import dao.*;
import entity.*;

public class UserDaoMap implements UserDao{
	private  HashMap<String,User> umap;
	private int num ;
	public UserDaoMap() {
		umap =  new HashMap<>();
		num = umap.size();
	}    	
	public void addUser(User u) {
		 String name = u.getName();
		 this.umap.put(name, u); 
	}
	public void queryUser( ) {//查询用户	
		String total="";
		Set<String> keys = this.umap.keySet();
		total +=("用户名\t密码\n");
		total +=("***********************\n");
		//遍历keyset,通过map.get(key)方法获得value的值
		for (String key : keys) {
			total +=(key + "\t" + this.umap.get(key)+"\n");
		}
		System.out.println(total);
	} 
	public boolean hasUser(String name) {//查询某个用户是否存在
		return this.umap.containsKey(name);
	}
	public boolean verify(String name, String pwd) {//验证用户名和密码是否一致
		if(this.umap.containsKey(name)) {
			User u0 =this.umap.get(name);
			if(u0.getPwd().equals(pwd)) {
				return true;
			}else {
				return false;
			}			
		}else {
			return false;
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		UserDao uds = new UserDaoMap(); 
		System.out.println("添加用户u1...");
		User u1=new User("zhangyi","456");
		uds.addUser(u1);
		System.out.println("添加用户u2...");
		User u2=new User("ma","123456");
		uds.addUser(u2);
		
		System.out.println("、”ma\",\"123456\"是否是一对有效密码");
		System.out.println(uds.verify("ma","123456"));
		
		System.out.println("查询u1用户是否存在:");
	    System.out.println(uds.hasUser(u1.getName()));
	    
	    //查询所有用户
	    System.out.println("查询所有用户:");
	    uds.queryUser();
	}

}