Compare commits

...

31 Commits
model ... main

Author SHA1 Message Date
pjpuq94a7 84730423b1 ADD file via upload
2 years ago
pjpuq94a7 f8faec4e8c Delete 'log-29陈潇.docx'
2 years ago
pjpuq94a7 8f90c61001 ADD file via upload
2 years ago
pjpuq94a7 3b93ca9dc1 ADD file via upload
2 years ago
pjpuq94a7 799e2706cd ADD file via upload
2 years ago
pjpuq94a7 5bed2e3e9c ADD file via upload
2 years ago
pjpuq94a7 6fc6e800ac ADD file via upload
2 years ago
pjpuq94a7 aa93154118 Delete 'log-29陈潇.docx'
2 years ago
pjpuq94a7 63b10078c2 Delete 'log-07杨悦.docx'
2 years ago
pk3pnwq9h cc0098ea8b ADD file via upload
2 years ago
pk3pnwq9h 488950f162 ADD file via upload
2 years ago
pk3pnwq9h b5989f6a80 Delete 'log-29陈潇'
2 years ago
pk3pnwq9h d2189d0621 Delete 'log-07杨悦'
2 years ago
pk3pnwq9h 137e1ba464 ADD file via upload
2 years ago
pk3pnwq9h c5ec56f6ca ADD file via upload
2 years ago
pk3pnwq9h 029506d5e0 ADD file via upload
2 years ago
pk3pnwq9h f8e4386b56 ADD file via upload
2 years ago
pk3pnwq9h b6e1488e81 Delete 'log-07杨悦.docx'
2 years ago
pk3pnwq9h 95172cff64 Add model
2 years ago
pk3pnwq9h 6569264ea2 Delete 'model'
2 years ago
pk3pnwq9h 79c1580516 Add doc
2 years ago
pk3pnwq9h 5141e4dbcf Delete 'doc'
2 years ago
pk3pnwq9h 1d7ff8d75c Add src
2 years ago
pk3pnwq9h 6f03cb7237 Delete 'src'
2 years ago
pk3pnwq9h da7a3d9005 ADD file via upload
2 years ago
pk3pnwq9h 563753f07e Delete 'log'
2 years ago
pk3pnwq9h 4e8692b393 Add log
2 years ago
pk3pnwq9h 276c0534cb Add doc
2 years ago
pk3pnwq9h 2e36e73973 Add model
2 years ago
pk3pnwq9h 451115dfa1 Add src
2 years ago
pk3pnwq9h f8ae8f8db4 Update README.md
2 years ago

@ -1,2 +1 @@
# src
#log

16
doc

@ -0,0 +1,16 @@
“简单用户信息管理”软件系统的需求构思及描述
1.背景介绍
本项目旨在开发一个用户管理系统,用于管理用户的基本信息,包括用户名、邮箱、年龄和性别。该系统将提供用户添加、删除、修改和查询等功能,同时支持将用户信息存储到文件中以及从文件中读取用户信息
2.欲解决问题
此软件欲解决的问题有:
1 添加用户:用户可以通过系统添加新的用户,提供用户名,邮箱,年龄,性别等信息。
2 删除用户:管理员可以根据用户名删除现有用户。服药不提醒:老人记忆力衰退,经常忘记吃药
3 修改用户信息:管理员可以根据用户名修改用户的邮箱、年龄和性别等信息。
4.查询用户信息:管理员可以根据用户名查询用户的详细信息。
5.数据持久化:系统将用户信息存储到文件中,以便下次启动时可以读取已保存的用户信息。
软件创意:能够修改用户信息
3.可行性及潜在风险
技术风险:可能遇到技术难题,如文件读写操作、异常处理等,需及时调整方案。
需求变更:用户需求可能会发生变化,需要与用户保持沟通,及时调整开发计划。
人力资源:团队成员可能会离职或调动,需合理分配任务,确保项目进度。

Binary file not shown.

Binary file not shown.

Binary file not shown.

34
model

@ -0,0 +1,34 @@
@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

Binary file not shown.

213
src

@ -0,0 +1,213 @@
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();
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save