用java写一个用户管理
由于题目描述不够清晰,我假设用户管理包括以下功能:
- 添加用户
- 删除用户
- 查找用户
- 修改用户信息
- 列出所有用户
下面是我写的一个简单的用户管理程序:
import java.util.ArrayList;
import java.util.Scanner;
public class UserManagement {
private ArrayList<User> users;
public UserManagement() {
users = new ArrayList<>();
}
public void addUser(User user) {
users.add(user);
}
public void removeUser(User user) {
users.remove(user);
}
public User findUser(String name) {
for (User user : users) {
if (user.getName().equals(name)) {
return user;
}
}
return null;
}
public void modifyUser(User user, String newName, int newAge) {
user.setName(newName);
user.setAge(newAge);
}
public void listAllUsers() {
for (User user : users) {
System.out.println(user);
}
}
public static void main(String[] args) {
UserManagement manager = new UserManagement();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 添加用户");
System.out.println("2. 删除用户");
System.out.println("3. 查找用户");
System.out.println("4. 修改用户信息");
System.out.println("5. 列出所有用户");
System.out.println("0. 退出");
int choice = scanner.nextInt();
scanner.nextLine(); // consume the newline character
switch (choice) {
case 1:
System.out.print("请输入用户名:");
String name = scanner.nextLine();
System.out.print("请输入年龄:");
int age = scanner.nextInt();
scanner.nextLine(); // consume the newline character
User newUser = new User(name, age);
manager.addUser(newUser);
System.out.println("添加用户成功!");
break;
case 2:
System.out.print("请输入要删除的用户名:");
name = scanner.nextLine();
User userToRemove = manager.findUser(name);
if (userToRemove != null) {
manager.removeUser(userToRemove);
System.out.println("删除用户成功!");
} else {
System.out.println("找不到要删除的用户!");
}
break;
case 3:
System.out.print("请输入要查找的用户名:");
name = scanner.nextLine();
User userToFind = manager.findUser(name);
if (userToFind != null) {
System.out.println(userToFind);
} else {
System.out.println("找不到要查找的用户!");
}
break;
case 4:
System.out.print("请输入要修改的用户名:");
name = scanner.nextLine();
User userToModify = manager.findUser(name);
if (userToModify != null) {
System.out.print("请输入新的用户名:");
String newName = scanner.nextLine();
System.out.print("请输入新的年龄:");
int newAge = scanner.nextInt();
scanner.nextLine(); // consume the newline character
manager.modifyUser(userToModify, newName, newAge);
System.out.println("修改用户信息成功!");
} else {
System.out.println("找不到要修改的用户!");
}
break;
case 5:
manager.listAllUsers();
break;
case 0:
System.out.println("程序退出!");
System.exit(0);
default:
System.out.println("无效的选择!");
}
}
}
}
class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
这个程序使用了一个 UserManagement 类来管理用户,其中用到了 ArrayList 来存储用户。每个用户由一个 User 类来表示,包含用户名和年龄两个属性。程序中使用了一个无限循环来让用户选择操作,直到用户选择退出为止。每个操作都有对应的方法来实现,其中涉及到了用户输入和输出。程序运行时会不断打印操作菜单并等待用户输入,直到用户选择退出为止。
原文地址: https://www.cveoy.top/t/topic/wvm 著作权归作者所有。请勿转载和采集!