Compare commits
2 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
a9aa045902 | 2 years ago |
|
|
6b6877762e | 2 years ago |
@ -1,16 +0,0 @@
|
||||
“简单用户信息管理”软件系统的需求构思及描述
|
||||
|
||||
1.背景介绍
|
||||
本项目旨在开发一个用户管理系统,用于管理用户的基本信息,包括用户名、邮箱、年龄和性别。该系统将提供用户添加、删除、修改和查询等功能,同时支持将用户信息存储到文件中以及从文件中读取用户信息
|
||||
2.欲解决问题
|
||||
此软件欲解决的问题有:
|
||||
1 添加用户:用户可以通过系统添加新的用户,提供用户名,邮箱,年龄,性别等信息。
|
||||
2 删除用户:管理员可以根据用户名删除现有用户。服药不提醒:老人记忆力衰退,经常忘记吃药
|
||||
3 修改用户信息:管理员可以根据用户名修改用户的邮箱、年龄和性别等信息。
|
||||
4.查询用户信息:管理员可以根据用户名查询用户的详细信息。
|
||||
5.数据持久化:系统将用户信息存储到文件中,以便下次启动时可以读取已保存的用户信息。
|
||||
软件创意:能够修改用户信息
|
||||
3.可行性及潜在风险
|
||||
技术风险:可能遇到技术难题,如文件读写操作、异常处理等,需及时调整方案。
|
||||
需求变更:用户需求可能会发生变化,需要与用户保持沟通,及时调整开发计划。
|
||||
人力资源:团队成员可能会离职或调动,需合理分配任务,确保项目进度。
|
||||
Binary file not shown.
@ -1,34 +0,0 @@
|
||||
@startuml
|
||||
|
||||
class User {
|
||||
- username: String
|
||||
- email: String
|
||||
- age: int
|
||||
- gender: String
|
||||
+ User(username: String, email: String, age: int, gender: String)
|
||||
+ getUsername(): String
|
||||
+ getEmail(): String
|
||||
+ getAge(): int
|
||||
+ getGender(): String
|
||||
+ setUsername(username: String): void
|
||||
+ setEmail(email: String): void
|
||||
+ setAge(age: int): void
|
||||
+ setGender(gender: String): void
|
||||
+ toString(): String
|
||||
}
|
||||
|
||||
class UserManager {
|
||||
- userList: ArrayList<User>
|
||||
- FILE_NAME: String
|
||||
+ UserManager()
|
||||
+ readUsersFromFile(): ArrayList<User>
|
||||
+ writeUsersToFile(): void
|
||||
+ addUser(user: User): void
|
||||
+ findUserByUsername(username: String): User
|
||||
+ removeUser(username: String): boolean
|
||||
+ modifyUserInfo(username: String, newEmail: String, newAge: int, newGender: String): boolean
|
||||
}
|
||||
|
||||
User --* UserManager
|
||||
|
||||
@enduml
|
||||
@ -1,213 +0,0 @@
|
||||
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…
Reference in new issue