大概功能:
1.表现所有教师 2.按姓名查找教师 3.按工号查找教师 4.增加教师 5.删除教师 6.退出
数据会保存到 txt 文件内里
姓名:必须是中文
手机号码:必须是11位,必须是数字
结果展示:
代码展示:
TeacherSystem类:
- package TEACHERSYSTEM;
- import java.io.*;
- import java.util.ArrayList;
- import java.util.Objects;
- import java.util.Random;
- import java.util.Scanner;
- public class TeacherSystem {
- public static void main(String[] args) {
- ArrayList<User> list = new ArrayList<>();
- User u1 = new User("1238", "张三", "18716699212", "35612341243123@qq.com", 701);
- User u2 = new User("1234", "李四", "18716699212", "35612341243123@qq.com", 801);
- User u3 = new User("12345", "王五", "18716699212", "35612341243123@qq.com", 901);
- list.add(u1);
- list.add(u2);
- list.add(u3);
- // 从文件加载数据
- LoadFromFile(list);
- // 启动登录流程
- login(list);
- // 保存数据到文件
- SaveToFile(list);
- }
- private static void login(ArrayList<User> list) {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入工号:");
- while (true) {
- String inputID = sc.next();
- boolean found = false;
- for (User user : list) {
- if (user.getId().equals(inputID)) {
- found = true;
- break;
- }
- }
- if (found) {
- break;
- } else {
- System.out.println("账号 " + inputID + " 不存在,请重新输入");
- }
- }
- System.out.println("请输入姓名:");
- while (true) {
- String inputName = sc.next();
- boolean found = false;
- for (User user : list) {
- if (Objects.equals(user.getName(), inputName)) {
- found = true;
- break;
- }
- }
- if (found) {
- break;
- } else {
- System.out.println("姓名 " + inputName + " 不存在,请重新输入");
- }
- }
- // 获取验证码
- while (true) {
- String rightCode = getCode();
- System.out.println("当前正确的验证码为:" + rightCode);
- System.out.print("请输入验证码:");
- String code = sc.next();
- if (code.equalsIgnoreCase(rightCode)) {
- System.out.println("验证码正确");
- OperaterTeacher(list);
- break;
- } else {
- System.out.println("验证码错误,请重新输入");
- }
- }
- sc.close();
- }
- public static void OperaterTeacher(ArrayList<User> list) {
- Scanner sc = new Scanner(System.in);
- while (true) {
- System.out.println("---------------------------------------------------------------------");
- System.out.println("Welcome to the use 教师管理系统");
- System.out.println("请选择你需要进行的操作:1.显示所有教师 2.按姓名查找教师 3.按工号查找教师 4.增加教师 5.删除教师 6.退出");
- System.out.println("---------------------------------------------------------------------");
- int choose = sc.nextInt();
- switch (choose) {
- case 1:
- ShowAllTeacher(list);
- break;
- case 2:
- SeekName(list);
- break;
- case 3:
- SeekId(list);
- break;
- case 4:
- AddTeacher(list);
- break;
- case 5:
- DeleteTeacher(list);
- break;
- case 6:
- System.out.println("退出管理员操作页面");
- return;
- default:
- System.out.println("没有该选项");
- }
- }
- }
- public static void ShowAllTeacher(ArrayList<User> list) {
- System.out.println("工号\t\t\t姓名\t\t\t电话\t\t\t\t邮箱\t\t\t\t\t班级");
- for (User user : list) {
- System.out.println(user.getId() + "\t\t\t" + user.getName() + "\t\t\t" + user.getPhoneNumber() + "\t\t\t" + user.getLetterbox() + "\t\t" + user.getClassNumber());
- }
- }
- public static void SeekName(ArrayList<User> list) {
- Scanner sc = new Scanner(System.in);
- while (true) {
- System.out.println("请输入姓名:");
- String inputName = sc.next();
- boolean found = false;
- for (User user : list) {
- if (user.getName().equals(inputName)) {
- System.out.println("工号\t\t\t姓名\t\t\t电话\t\t\t\t邮箱\t\t\t\t班级");
- System.out.println(user.getId() + "\t\t\t" + user.getName() + "\t\t\t" + user.getPhoneNumber() + "\t\t\t" + user.getLetterbox() + "\t\t" + user.getClassNumber());
- found = true;
- }
- }
- if (!found) {
- System.out.println("输入的姓名不存在,请重新输入");
- } else {
- return; // 如果找到教师信息,退出循环
- }
- }
- }
- public static void SeekId(ArrayList<User> list) {
- Scanner sc = new Scanner(System.in);
- while (true) {
- System.out.println("请输入工号:");
- String inputID = sc.next();
- boolean found = false;
- for (User user : list) {
- if (user.getId().equals(inputID)) {
- System.out.println("工号\t\t\t姓名\t\t\t电话\t\t\t\t邮箱\t\t\t\t班级");
- System.out.println(user.getId() + "\t\t\t" + user.getName() + "\t\t\t" + user.getPhoneNumber() + "\t\t\t" + user.getLetterbox() + "\t\t" + user.getClassNumber());
- found = true;
- }
- }
- if (!found) {
- System.out.println("输入的工号不存在,请重新输入");
- } else {
- return;
- }
- }
- }
- public static void AddTeacher(ArrayList<User> list) {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入新教师工号:");
- String newID = sc.next();
- if (contain(list, newID)) {
- System.out.println("该工号已经存在,请选择其他工号");
- return;
- }
- String newName;
- while (true) {
- System.out.println("请输入新教师的姓名:");
- newName = sc.next();
- if (checkChineseName(newName)) {
- break;
- } else {
- System.out.println("输入无效,请输入中文姓名。");
- }
- }
- String newPhone;
- while (true) {
- System.out.println("请输入新教师的手机号码:");
- sc.nextLine();
- newPhone = sc.nextLine();
- boolean flag = checkPhoneNumber(newPhone);
- if (flag) {
- break;
- } else {
- System.out.println("手机号码格式错误,请重新输入");
- }
- }
- System.out.println("请输入新教师的邮箱账号:");
- String newLetterBox = sc.next();
- System.out.println("请输入新教师的所在班级:");
- int newClassNumber = Integer.parseInt(sc.next());
- User newUser = new User(newID, newName, newPhone, newLetterBox, newClassNumber);
- list.add(newUser);
- System.out.println("教师添加成功");
- }
- public static void DeleteTeacher(ArrayList<User> list) {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入要删除的工号:");
- String IDToDelete = sc.next();
- User AimUser = findUserByAccount(list, IDToDelete);
- if (AimUser == null) {
- System.out.println("用户账号不存在");
- return;
- }
- list.remove(AimUser);
- System.out.println("用户删除成功");
- }
- private static boolean checkChineseName(String name) {
- return name.matches("^[\\u4e00-\\u9fa5]+$"); // 判断是否全为中文
- }
- private static boolean checkPhoneNumber(String phoneNumber) {
- int len = phoneNumber.length();
- // 检查手机号码长度并且只包含数字
- return len == 11 && phoneNumber.matches("\\d+");
- }
- // 用户者寻找用户
- private static User findUserByAccount(ArrayList<User> list, String ID) {
- for (User user : list) {
- if (user.getId().equals(ID)) {
- return user;
- }
- }
- return null;
- }
- public static boolean contain(ArrayList<User> list, String ID) {
- for (User user : list) {
- if (ID.equals(user.getId())) {
- return true;
- }
- }
- return false;
- }
- private static String getCode() {
- ArrayList<Character> list = new ArrayList<>();
- for (int i = 0; i < 26; i++) {
- list.add((char) ('a' + i));
- list.add((char) ('A' + i));
- }
- Random r = new Random();
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < 4; i++) {
- int index = r.nextInt(list.size());
- char c = list.get(index);
- sb.append(c);
- }
- int number = r.nextInt(10);
- sb.append(number);
- char[] arr = sb.toString().toCharArray();
- int randomIndex = r.nextInt(arr.length);
- char temp = arr[randomIndex];
- arr[randomIndex] = arr[arr.length - 1];
- arr[arr.length - 1] = temp;
- return new String(arr);
- }
- private static void LoadFromFile(ArrayList<User> list) {
- try (BufferedReader br = new BufferedReader(new FileReader("teachers.txt"))) {
- String line;
- line = br.readLine(); // 读取并忽略第一行标题
- while ((line = br.readLine()) != null) {
- String[] parts = line.split(",");
- if (parts.length == 5) {
- String id = parts[0];
- String name = parts[1];
- String phone = parts[2];
- String email = parts[3];
- int classNumber = Integer.parseInt(parts[4]);
- User user = new User(id, name, phone, email, classNumber);
- list.add(user);
- }
- }
- } catch (IOException e) {
- System.out.println("加载文件失败,可能是文件不存在。");
- }
- }
- private static void SaveToFile(ArrayList<User> list) {
- try (BufferedWriter bw = new BufferedWriter(new FileWriter("teachers.txt"))) {
- bw.write("工号\t\t\t姓名\t\t\t电话\t\t\t\t邮箱\t\t\t\t\t班级");
- bw.newLine();
- for (User user : list) {
- bw.write(user.getId() + "\t\t\t" + user.getName() + "\t\t\t" + user.getPhoneNumber() + "\t\t\t" + user.getLetterbox() + "\t\t" + user.getClassNumber());
- bw.newLine();
- }
- } catch (IOException e) {
- System.out.println("保存文件失败");
- }
- }
- }
复制代码 User类:
- package TEACHERSYSTEM;
- public class User {
- private String id;
- private String name;
- private String PhoneNumber;
- private String Letterbox;
- private int ClassNumber;
- public User(){}
- public User(String id, String name, String phoneNumber, String letterbox, int classNumber) {
- this.id = id;
- this.name = name;
- PhoneNumber = phoneNumber;
- Letterbox = letterbox;
- ClassNumber = classNumber;
- }
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getPhoneNumber() {
- return PhoneNumber;
- }
- public void setPhoneNumber(String phoneNumber) {
- PhoneNumber = phoneNumber;
- }
- public String getLetterbox() {
- return Letterbox;
- }
- public void setLetterbox(String letterbox) {
- Letterbox = letterbox;
- }
- public int getClassNumber() {
- return ClassNumber;
- }
- public void setClassNumber(int classNumber) {
- ClassNumber = classNumber;
- }
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |