Compare commits

...

2 Commits
main ... src

@ -1 +1,214 @@
# src
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
// 用户类
class User implements Serializable {
private static final long serialVersionUID = 1L;
private String username;
private String email;
private int age;
private String gender;
public User(String username, String email, int age, String gender) {
this.username = username;
this.email = email;
this.age = age;
this.gender = gender;
}
public String getUsername() {
return username;
}
public String getEmail() {
return email;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
public void setUsername(String username) {
this.username = username;
}
public void setEmail(String email) {
this.email = email;
}
public void setAge(int age) {
this.age = age;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "Username: " + username + ", Email: " + email + ", Age: " + age + ", Gender: " + gender;
}
}
// 用户管理类
class UserManager {
private ArrayList<User> userList;
private static final String FILE_NAME = "users.dat";
public UserManager() {
userList = readUsersFromFile();
}
// 从文件中读取用户信息
private ArrayList<User> readUsersFromFile() {
ArrayList<User> users = new ArrayList<>();
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(FILE_NAME))) {
users = (ArrayList<User>) ois.readObject();
} catch (FileNotFoundException e) {
System.out.println("文件不存在,将创建新文件。");
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
return users;
}
// 将用户信息写入文件
private void writeUsersToFile() {
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(FILE_NAME))) {
oos.writeObject(userList);
} catch (IOException e) {
e.printStackTrace();
}
}
// 添加用户
public void addUser(User user) {
userList.add(user);
writeUsersToFile();
}
// 根据用户名查找用户
public User findUserByUsername(String username) {
for (User user : userList) {
if (user.getUsername().equals(username)) {
return user;
}
}
return null;
}
// 删除用户
public boolean removeUser(String username) {
User user = findUserByUsername(username);
if (user != null) {
userList.remove(user);
writeUsersToFile();
return true;
}
return false;
}
// 修改用户信息
public boolean modifyUserInfo(String username, String newEmail, int newAge, String newGender) {
User user = findUserByUsername(username);
if (user != null) {
user.setEmail(newEmail);
user.setAge(newAge);
user.setGender(newGender);
writeUsersToFile();
return true;
}
return false;
}
}
// 主程序
public class yy1{
public static void main(String[] args) {
UserManager userManager = new UserManager();
Scanner scanner = new Scanner(System.in);
boolean running = true;
while (running) {
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.print("请选择操作:");
int choice = scanner.nextInt();
scanner.nextLine(); // 清除输入缓冲区
switch (choice) {
case 1:
System.out.print("请输入用户名:");
String username = scanner.nextLine();
System.out.print("请输入邮箱:");
String email = scanner.nextLine();
System.out.print("请输入年龄:");
int age = scanner.nextInt();
scanner.nextLine(); // 清除输入缓冲区
System.out.print("请输入性别:");
String gender = scanner.nextLine();
User newUser = new User(username, email, age, gender);
userManager.addUser(newUser);
System.out.println("用户已添加!");
break;
case 2:
System.out.print("请输入要查找的用户名:");
String searchUsername = scanner.nextLine();
User foundUser = userManager.findUserByUsername(searchUsername);
if (foundUser != null) {
System.out.println("用户信息:");
System.out.println(foundUser);
} else {
System.out.println("未找到用户!");
}
break;
case 3:
System.out.print("请输入要删除的用户名:");
String deleteUsername = scanner.nextLine();
boolean removed = userManager.removeUser(deleteUsername);
if (removed) {
System.out.println("用户已删除!");
} else {
System.out.println("未找到用户!");
}
break;
case 4:
System.out.print("请输入要修改信息的用户名:");
String modifyUsername = scanner.nextLine();
System.out.print("请输入新的邮箱:");
String newEmail = scanner.nextLine();
System.out.print("请输入新的年龄:");
int newAge = scanner.nextInt();
scanner.nextLine(); // 清除输入缓冲区
System.out.print("请输入新的性别:");
String newGender = scanner.nextLine();
boolean modified = userManager.modifyUserInfo(modifyUsername, newEmail, newAge, newGender);
if (modified) {
System.out.println("用户信息已修改!");
} else {
System.out.println("未找到用户!");
}
break;
case 5:
running = false;
System.out.println("感谢使用,再见!");
break;
default:
System.out.println("无效的选项,请重新输入!");
}
System.out.println();
}
scanner.close();
}
}

Loading…
Cancel
Save