public class Test {
public static void main(String[] args) {
UserManager userManager = new UserManager(5);
userManager.add(new User("苍井空", "12345", "苍井空"));
userManager.add(new User("小泽玛利亚", "12345", "小泽玛利亚"));
userManager.add(new User("苍井空", "12345", "苍井空"));
userManager.add(new User("南波杏", "12345", "南波杏"));
userManager.add(new User("薰樱子", "12345", "薰樱子"));
userManager.add(new User("立花里子", "12345", "立花里子"));
userManager.delete("石川施恩惠");
userManager.update("苍井空", new User("石川施恩惠", "2334", "有码的我不看"));
userManager.read("薰樱子");
}
}
/**
* 用户类,该类仅仅包含了用户的基本属性和对成员的操作
* @author YiFan
* @version 0.1.0 2014年6月3日12:38:16
*/
public class User {
@Override
public String toString() {
return "User [userName=" + userName + ", password=" + password
+ ", nickName=" + nickName + "]";
}
/**
* 构建一个新的用户对象
* @param userName 用户名
* @param password 密码
* @param nickName 昵称
*/
public User(String userName, String password, String nickName) {
super();
this.userName = userName;
this.password = password;
this.nickName = nickName;
}
@Override
public User clone() throws CloneNotSupportedException {
User user = new User(this.getUserName(), this.getPassword(), this.getNickName());
return user;
}
public String getUserName() {
return userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
private String userName;
private String password;
private String nickName;
}
public class MyList {
public int lenth() {
return index;
}
public boolean add(Object obj) {
if(index >= objs.length) {
return false;
}
objs[index++] = obj;
return true;
}
public void delete(int index) {
for(int i=index; i<objs.length-1; i++) {
objs[i] = objs[i+1];
}
this.index--;
}
public Object read(int index) {
return objs[index];
}
public void update(int index, Object obj) {
objs[index] = obj;
}
public Object[] list() {
return objs;
}
public MyList(int nums) {
super();
objs = new Object[nums];
}
private Object[] objs;
private int index;
}
public class UserManager {
/**
* 返回特定用户的位置
* @param userName 要查找用户的用户名
* @return 用户所在的位置,如果返回-1表示查找失败
*/
public int getIndex(String userName) {
for(int i=0; i<users.lenth(); i++) {
User user = (User)users.read(i);
if(user.getUserName().equals(userName)) {
return i;
}
}
return -1;
}
public UserManager(int nums) {
this.users = new MyList(nums);
}
public void add(User user) {
if((this.getIndex(user.getUserName()) == -1) && users.add(user)) {
System.out.println("添加新用户成功!");
} else {
System.out.println("添加新用户失败");
}
}
public void delete(String userName) {
int index = this.getIndex(userName);
if(index != -1) {
users.delete(index);
System.out.println("删除用户成功!");
} else {
System.out.println("删除用户失败!");
}
}
public void read(String userName) {
int index = this.getIndex(userName);
if(index != -1) {
//(User)users.read(index).toString();
System.out.println(users.read(index).toString());// 多态的利用哦
} else {
System.out.println("读取失败");
}
}
public void update(String userName, User user) {
int index = this.getIndex(userName);
if(index != -1) {
users.update(index, user);
System.out.println("修改成功:" + users.read(index).toString());
} else {
System.out.println("修改失败");
}
}
private MyList users;
}