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(); } }