目录
用户管理类
public class Manage {
public static void main(String[] args) {
ArrayList<User> users = new ArrayList();
users.add(new User("胡歌","123",12,'男'));
users.add(new User("彭于晏","111",22,'男'));
users.add(new User("刘亦菲","666",18,'女'));
Scanner sc = new Scanner(System.in);
int i;
do{
System.out.println("---------欢迎进入2105用户管理系统---------\n" +
"1.根据id查询用户信息\n" +
"2.根据姓名查询用户信息\n" +
"3.展示所有用户信息\n" +
"4.添加用户信息\n" +
"5.修改用户信息\n" +
"6.删除用户信息\n" +
"7.退出");
System.out.println("请输入需要的操作:");
i = sc.nextInt();
switch (i){
case 1:
System.out.println("请输入需要查找的id:");
boolean flag1 = true;
int num1 = 0;
while (flag1){
//User id 引用通过输入指定的id获得指定位置的元素。
num1 = sc.nextInt();
//contains--->如果此列表中包含指定的元素,则返回 true。
for (User user:users) {
if (user.getId() == num1){
System.out.println(user);
flag1 = false;
}
}
if(flag1) {
System.out.println("id不存在,请重新输入");
}
}
break;
case 2:
//通过姓名查找
System.out.println("请输入需要查找的姓名:");
boolean flag = true;
String s = null;
while (flag){
//User id 引用通过输入指定的id获得指定位置的元素。
s = sc.next();
for (User user:users) {
if (s.equals(user.getUserName())){
System.out.println(user);
flag = false;
}
}
if(flag) {
System.out.println("姓名不存在,请重新输入");
}
}
break;
case 3:
//3.展示所有用户信息
//users.forEach(System.out::println);//调用遍历数组方法打印对象数组
//迭代器遍历
Iterator<User> it = users.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
break;
case 4:
//4.添加用户信息
System.out.println("请输入需要添加的姓名:");
boolean flag3 = true;
String s1 = null;
while (flag3){
//User id 引用通过输入指定的id获得指定位置的元素。
s1 = sc.next();
//contains--->如果此列表中包含指定的元素,则返回 true。
for (int j = 0; j < users.size(); j++) {
if (s1.equals(users.get(j).getUserName())){
System.out.println("姓名已存在,请重新输入");
flag3 = false;
break;
}
}
if(!flag3) {
flag3 = true;
}else{
break;
}
}
System.out.println("请输入密码");
String password = sc.next();
System.out.println("请输入年龄");
int age = sc.nextInt();
System.out.println("请输入性别");
char sex = sc.next().charAt(0);
users.add(new User(s1,password,age,sex));
System.out.println("添加成功");
break;
case 5:
//5.修改用户信息
System.out.println("请输入需要修改的id:");
boolean flag5 = true;
int num5 = 0;
while (flag5){
//User id 引用通过输入指定的id获得指定位置的元素。
num5 = sc.nextInt();
//contains--->如果此列表中包含指定的元素,则返回 true。
for (User user:users) {
if (user.getId() == num5){
System.out.println(user);
flag5 = false;
}
}
if(flag5) {
System.out.println("id不存在,请重新输入");
}
}
System.out.println("请输入需要修改的姓名:");
boolean flag01 = true;
String s01 = null;
while (flag01){
//User id 引用通过输入指定的id获得指定位置的元素。
s01 = sc.next();
//contains--->如果此列表中包含指定的元素,则返回 true。
for (int j = 0; j < users.size(); j++) {
if (s01.equals(users.get(j).getUserName())){
System.out.println("姓名已存在,请重新输入");
flag01 = false;
break;
}
}
if(!flag01) {
flag01 = true;
}else{
break;
}
}
//找到对应对象,修改对象信息
System.out.println("请输入密码");
String password1 = sc.next();
System.out.println("请输入年龄");
int age1 = sc.nextInt();
System.out.println("请输入性别");
char sex1 = sc.next().charAt(0);
users.set(num5,new User(num5,s01,password1,age1,sex1));
System.out.println("修改成功");
break;
case 6:
//6.删除用户信息
System.out.println("请输入需要删除的id:");
boolean flag6 = true;
int num6 = 0;
while (flag6){
//User id 引用通过输入指定的id获得指定位置的元素。
num6 = sc.nextInt();
//contains--->如果此列表中包含指定的元素,则返回 true。
Iterator<User> iterator = users.iterator();
while (iterator.hasNext()){
if(iterator.next().getId() == num6) {
iterator.remove();
flag6 = false;
break;
}
}
if(flag6) {
System.out.println("id不存在,请重新输入");
}
}
// users.remove(num6);
System.out.println("删除成功");
break;
case 7:
System.out.println("谢谢使用,欢迎下次使用");
break;
}
}while (i!=7);
}
}
用户类
public class User {
private int id;
private String UserName;
private String password;
private int age;
private char sex;
static int uid = 0;
{
++uid;//构造代码块每次创建对象会执行一次,用于统计创建对象次数
}
public User() {
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
return id == user.id && age == user.age && sex == user.sex && Objects.equals(UserName, user.UserName) && Objects.equals(password, user.password);
}
@Override
public int hashCode() {
return Objects.hash(id, UserName, password, age, sex);
}
public User(String userName, String password, int age, char sex) {
this.id = uid;
UserName = userName;
this.password = password;
this.age = age;
this.sex = sex;
}
public User(int id, String userName, String password, int age, char sex) {
this.id = id;
UserName = userName;
this.password = password;
this.age = age;
this.sex = sex;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return UserName;
}
public void setUserName(String userName) {
UserName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
@Override
public String toString() {
return "homework.User{" +
"id=" + id +
", UserName='" + UserName + '\'' +
", password='" + password + '\'' +
", age=" + age +
", sex=" + sex +
'}';
}
}