• 人生第一个项目(学生管理系统)(进阶版)


    题目:

    package Project.Student_system_upper版;
    
    public class 题目学生股那里系统upper {
        //增删改查可以直接参照之前的文件代码(cv大法)
        /* 为学生管理系统写一个登录,注册,忘记密码的功能
           只有用户登陆成功之后,才能进入到学生管理系统中进行相应操作*/
    
        /*分析:
              1. 登陆界面
              需要有以下内容:
                  欢迎来到学生管理系统
                  其选择操作:1. 登录     2. 注册     3. 忘记密码
    
              2. 用户类:
                       属性: 1. 用户名   2. 密码   3. 身份证号码    4. 手机号码
    
              注册功能:
                    1.  用户名满足以下要求:
                        验证要求:
                            (1)用户名唯一
                            (2)用户名长度必须在3~15位之间
                            (3)只能是字母和数字的组合,但是不能是纯数字
    
                    2.  密码键盘要输入两次,两次一直才可以进行注册
    
                    3.  身份证号码需要验证:
                        验证要求:
                                (1)长度为18位
                                (2)不能以0开头
                                (3)前17位,必须都是数字
    
                    4.   手机号验证:
                         验证要求:
                                (1)长度为11位
                                (2)不能以0开头
                                (3)必须都是数字
    
               登录功能:
                     1. 键盘录入用户名
                     2. 键盘录入密码
                     3. 键盘录入验证码
                     验证要求:
                            (1)用户名如果未注册,直接结束方法,并提示:用户名未注册,请先注册
                            (2)判断验证码是否正确,如不正确,重新读入
                            (3)再判断用户名和密码是否正确,有3次机会
    
               忘记密码:
                     1. 键盘录入用户名,判断当前用户名是否存在,如果不存在直接结束方法,并提示:未注册
                     2. 键盘录入身份证号码和手机号码
                     3. 判断当前用户的身份证号和手机号码是否一致
                        (1)如果一致,则提示输入密码,进行修改
                        (2)如果不一致,则提示:账号信息不匹配,修改失败
    
                验证码规则:
                        1. 长度为5
                        2. 由4位大写或者小写字母和1位数字组成,同一个字母可以重复
                        3. 数字可以出现在任意位置
         */
    }
    

    思路:

    package Project.Student_system_upper版;
    
    public class 思路 {
        //增删改查,cv前面的代码
    
        //思路:
        //      1.写用户类
        //      2.用方法读出登陆界面
        //      3.用方法读取用户在登陆界面所输入的选项
    
        //注册功能:
        //      4.写方法,传入的参数为用户集合
    
        //      5.先读入一个用户名
        //      6.判断用户名长度是否在3~15位之间 (不是提示:用户名不符合规范)
        //      7.判断用户名是否全是数字         (是提示:用户名不符合规范)
        //      8.判断用户名是否唯一             (不是提示:用户名重复)
    
        //      (写方法)无参数,返回布尔值
        //      9.第一次 读入密码(无要求不现实:个人添加要求:长度为10位以下)
        //      10.第二次 读入密码
        //      11.判断这两次密码是否一致
    
        //      (写方法)无参数,返回字符串
        //      12.读入身份证号码
        //      13.判断长度是否为18      (不是提示:身份证号码不符合规范)
        //      14.判断前17位是否都为数字 (不是提示:身份证号码不符合规范)
        //      15.判断第1位是否为0       (是提示:身份证号码不符合规范)
    
        //      (写方法)无参数,返回字符串
        //      16.读入手机号
        //      17.判断长度是否为11        (不是提示:手机号码不符合规范)
        //      18.判断是否都是数字         (不是提示:手机号码不符合规范)
        //      19.判断是否以0开头        (是提示:手机号码不符合规范)
    
    
        //登录功能:
        //      (写方法)传入用户集合
        //      1.录入用户名
        //      2.用户名如果未注册,直接结束方法,并提示:用户名未注册,请先注册
        //      3.录入密码
        //
                //      (写方法)生成一个验证码
                //      1.长度为5
                //      2.由4位大写或者小写字母和1位数字组成,同一个字母可以重复
                //      3.数字可以出现在任意位置
    
        //      4.判断验证码是否正确,如不正确,重新读入
    
        //      (写方法)传入用户集合,用户名,密码,无返回
        //      5.判断用户名和密码是否正确,有3次机会
        //
        //
        //
        //忘记密码:
        //       (写方法)传入用户集合
        //       1. 键盘录入用户名,判断当前用户名是否存在,如果不存在直接结束方法,并提示:未注册
                        //       2. 键盘录入身份证号码和手机号码
                        //       3. 判断当前用户的身份证号和手机号码是否一致
                        //         (1)如果一致,则提示输入密码,进行修改
                        //         (2)如果不一致,则提示:账号信息不匹配,修改失败
    
        //增删改查
    }
    
    

    开始建类:

    package Project.Student_system_upper版;
    
    public class User_Object {
        private String User_name;           //用户名
        private String Pass_word;           //密码
        private String ID_Number;           //身份证号码
        private String Phone_number;        //手机号码
    
        public User_Object() {
        }
    
        public User_Object(String User_name, String Pass_word, String ID_Number, String Phone_number) {
            this.User_name = User_name;
            this.Pass_word = Pass_word;
            this.ID_Number = ID_Number;
            this.Phone_number = Phone_number;
        }
    
        /**
         * 获取
         * @return User_name
         */
        public String getUser_name() {
            return User_name;
        }
    
        /**
         * 设置
         * @param User_name
         */
        public void setUser_name(String User_name) {
            this.User_name = User_name;
        }
    
        /**
         * 获取
         * @return Pass_word
         */
        public String getPass_word() {
            return Pass_word;
        }
    
        /**
         * 设置
         * @param Pass_word
         */
        public void setPass_word(String Pass_word) {
            this.Pass_word = Pass_word;
        }
    
        /**
         * 获取
         * @return ID_Number
         */
        public String getID_Number() {
            return ID_Number;
        }
    
        /**
         * 设置
         * @param ID_Number
         */
        public void setID_Number(String ID_Number) {
            this.ID_Number = ID_Number;
        }
    
        /**
         * 获取
         * @return Phone_number
         */
        public String getPhone_number() {
            return Phone_number;
        }
    
        /**
         * 设置
         * @param Phone_number
         */
        public void setPhone_number(String Phone_number) {
            this.Phone_number = Phone_number;
        }
    
        public String toString() {
            return "User_Object{User_name = " + User_name + ", Pass_word = " + Pass_word + ", ID_Number = " + ID_Number + ", Phone_number = " + Phone_number + "}";
        }
    }

    开始主类:

    package Project.Student_system_upper版;
    
    import Project.Student_system.Student_Object;
    
    import java.util.ArrayList;
    import java.util.Random;
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            ArrayList Tuple_User = new ArrayList<>();
    
            int number = Login_Interface();//获得登陆界面选项和打印登陆界面
    
            while (true) {
                if (number == 1) {
                    if (Login(Tuple_User)) {
                        ArrayList Tuple_Student = new ArrayList<>();
                        Initial_Menu();
                        while (true) {
                            int User_Number = Get_User_Number();
                            if (User_Number == 1) {
                                ADD_Student(Tuple_Student);
                                System.out.println("还有需要请读入数字:");
                            }
                            else if (User_Number == 2) {
                                Delete_Student(Tuple_Student);
                            }
                            else if (User_Number == 3) {
                                Modify_Student(Tuple_Student);
                                System.out.println("还有需要请读入数字:");
                            } else if (User_Number == 4) {
                                Find_Student(Tuple_Student);
                                System.out.println("还有需要请读入数字:");
                            } else if (User_Number == 5) {
                                System.out.println("退出程序中...");
                                System.exit(0); //停止虚拟机运行
                            } else if (User_Number == 6) {
                                Print_all_data(Tuple_Student);
                            }
                        }
                    }
    
                    number = Login_Interface();
                } else if (number == 3) {
                    Forgot_Password(Tuple_User);
    
                    number = Login_Interface();
                } else if (number == 2) {
                    Register_Account(Tuple_User);
    
                    number = Login_Interface();
                }
                else if(number == 4){
                    System.out.println("程序退出中...");
                    System.exit(0);
                }
            }
        }
    
    
    //
    
    
        //登录界面
        //登陆界面(返回用户在登陆界面的选项) 无参数
        public static int Login_Interface() {
            System.out.println("欢迎来到学生管理系统\n" + "其选择操作:1. 登录     2. 注册     3. 忘记密码");
            System.out.print("请读入您的选项:");
            Scanner sc = new Scanner(System.in);
            int number = sc.nextInt();
            return number;
        }
    
        //登录功能(登入成功返回true,失败返回false)参数为用户集合
        public static boolean Login(ArrayList Tuple_User) {
            Scanner sc = new Scanner(System.in);
            while (true) {
                System.out.print("请输入用户名:");
                String User_name = sc.next();
                for (int i = 0; i < 3; i++) {
                    if (User_name_judement(Tuple_User, User_name)) {
                        System.out.print("请输入密码:");
                        String Pass_word = sc.next();
                        String CAPTCHA = CAPTCHA(); //获取验证码
                        if (CAPTCHA_judgment(CAPTCHA)) {
                            if (Judgement_username_and_password(Tuple_User, User_name, Pass_word)) {
                                System.out.println("登入成功");
                                return true;
                            } else {
                                System.out.println("密码错误!请重新读入:");
                                System.out.println("您还有" + (2 - i) + "次机会写入密码");
                                if (i == 2) {
                                    System.out.println("账户锁定!");
                                    return false;
                                }
                            }
                        }
                    } else {
                        System.out.println("用户名未注册,请先注册!");
                        return false;
                    }
                }
            }
        }
    
        //判断密码是否正确(这里其实有问题,我在判断用户名存在问题上就已经解决了用户名是否正确,所以这里只需要判断密码是否正确就ok)正确返回ture,错误返回false
        public static boolean Judgement_username_and_password(ArrayList Tuple_User, String User_name, String Pass_word) {
            for (int i = 0; i < Tuple_User.size(); i++) {
                if (Tuple_User.get(i).getUser_name().equals(User_name)) {
                    if (Tuple_User.get(i).getPass_word().equals(Pass_word)) {
                        return true;
                    }
                }
            }
            return false;
        }
    
        //用户名判断(存在返回true,不存在返回false) 参数为:用户集合,用户名
        public static boolean User_name_judement(ArrayList Tuple_User, String User_name) {
            for (int i = 0; i < Tuple_User.size(); i++) {
                if (Tuple_User.get(i).getUser_name().equals(User_name)) {
                    return true;
                }
            }
            return false;
        }
    
        //验证码判断(写对了返回ture,错了返回false)参数为验证码
        public static boolean CAPTCHA_judgment(String CAPTCHA) {
            Scanner sc = new Scanner(System.in);
            while (true) {
                System.out.println("验证码为:" + CAPTCHA);
                System.out.print("请输入验证码");
                String User_CAPTCHA = sc.next();
                if (User_CAPTCHA.equals(CAPTCHA)) {
                    return true;
                } else {
                    System.out.println("验证码错误,请重新读入验证码!");
                    CAPTCHA = CAPTCHA();
                }
            }
        }
    
        //生成验证码(无参数)
        public static String CAPTCHA() {
            char Result[] = new char[5];
            char alphabet[] = new char[52];
            char Number[] = new char[10];
            char sign = 'A';
            int i = 0;
            while (sign <= 'Z') {
                alphabet[i++] = sign++;
            }
            sign = 'a';
            while (sign <= 'z') {
                alphabet[i++] = sign++;
            }
    
            char number_sign = '0';
            int j = 0;
            while (number_sign <= '9') {
                Number[j++] = number_sign++;
            }
    
    //        for (i = 0; i < alphabet.length; i++) {
    //            System.out.print(alphabet[i]);
    //        }
    //        System.out.println("\n");
    //        for (i = 0; i < Number.length; i++) {
    //            System.out.print(Number[i]);
    //        }
            Random r = new Random();
            int random_number_index_in_Result = r.nextInt(Result.length);
            int number_index = r.nextInt(Number.length);
    
            char number_char = Number[number_index];
            Result[random_number_index_in_Result] = number_char;
    
            for (i = 0; i < Result.length; i++) {
                if (Result[i] == '\0') {
                    int random_index = r.nextInt(alphabet.length);
                    char Alphabet = alphabet[random_index];
                    Result[i] = Alphabet;
                }
            }
    
            String result_string = new String(Result);
            return result_string;
        }
    
    
    
    
    
    //忘记密码
    
        //忘记密码
        public static void Forgot_Password(ArrayList Tuple_User) {
            Scanner sc = new Scanner(System.in);
            System.out.print("请写入您想寻找的用户名:");
            String User_name = sc.next();
            if (User_name_judement(Tuple_User, User_name)) {
                System.out.println("请写入您的ID:");
                String ID = sc.next();
                System.out.println("请输入您的手机号码:");
                String Phone = sc.next();
                if (Judgment_Mobile_ID_Number(Tuple_User, User_name, ID, Phone)) {
                    Change_Password(Tuple_User, User_name);
                }
            } else {
                System.out.println("未注册");
                System.exit(0);
            }
        }
    
        //判断身份证号和手机号是否一致(传入用户集合,用户名,身份证号码,手机号码) 是返回true,否返回false
        public static boolean Judgment_Mobile_ID_Number(ArrayList Tuple_User, String User_name, String ID, String Phone) {
    
            for (int i = 0; i < Tuple_User.size(); i++) {
                if (Tuple_User.get(i).getUser_name().equals(User_name)) {
                    if (Tuple_User.get(i).getID_Number().equals(ID) && Tuple_User.get(i).getPhone_number().equals(Phone)) {
                        return true;
                    } else {
                        System.out.println("身份证号码或者手机号码错误!");
                        return false;
                    }
                }
            }
            return false;
        }
    
        //修改密码(传入用户集合,用户名) 修改结束提示:修改完成
        public static void Change_Password(ArrayList Tuple_User, String User_name) {
            Scanner sc = new Scanner(System.in);
            while (true) {
                System.out.println("请修改您的密码:");
                String number = sc.next();
                if (Pass_Word(number)) {
                    for (int i = 0; i < Tuple_User.size(); i++) {
                        if (Tuple_User.get(i).getUser_name().equals(User_name)) {
                            Tuple_User.get(i).setPass_word(number);
                            System.out.println("修改完毕");
                            return;
                        }
                    }
                } else {
                    System.out.println("您的密码格式不符合规格,请重新输入!");
                }
            }
        }
    
        //判断密码是否符合规格并返回密码,无参数
        public static String Pass_Word() {
            Scanner sc = new Scanner(System.in);
            while (true) {
                System.out.println("请输入密码:");
                String pass_word = sc.next();
                if (pass_word.length() <= 10) {
                    System.out.println("请再次输入密码:");
                    String pass = sc.next();
                    if (pass.equals(pass_word)) {
                        return pass;
                    }
                } else {
                    System.out.println("密码不符合规格,请重新输入:");
                }
            }
        }
    
        //判断密码是否符合规格
        public static boolean Pass_Word(String pass_word) {
            if (pass_word.length() <= 10 && pass_word.length() >= 1) {
                return true;
            } else {
                return false;
            }
        }
    
    
    ///
    
    
        //注册账户
    
    
        //注册账户
        public static void Register_Account(ArrayList Tuple_User) {
            String U_N = Get_Name();
            String Correct_U_N = Get_Correctly_UN(Tuple_User, U_N);
    
            String Correct_P_W = Get_password();
    
            String ID = Get_ID();
            String Correct_ID = Get_ID(ID);
    
            String Phone_number = Phone_N();
            String Correct_P_N = Get_Phone(Phone_number);
    
            User_Object user = new User_Object(Correct_U_N, Correct_P_W, Correct_ID, Correct_P_N);
            Tuple_User.add(user);
            System.out.println("存入完毕");
        }
    
        //判断用户名长度是否符合(传入参数:用户名)正确返回true,错误返回false
        public static boolean Judgment_Username_Length(String User_name) {
            if (User_name.length() >= 3 && User_name.length() <= 15) {
                return true;
            }
            return false;
        }
    
        //判断用户名是否全都是数字(传入参数:用户名)正确返回true,错误返回false
        public static boolean Judgment_Username_NOT_All_Number(String User_name) {
            //思路: 1. 可以用一个计数器,记录出现了多少个数字,如果总个数==字符串长度,则返回false
            //      2. 或者只要出现了一个不是数字样式的,就返回ture
            char char_User_name[] = User_name.toCharArray();
            for (int i = 0; i < char_User_name.length; i++) {
                if (char_User_name[i] < '0' && char_User_name[i] > '9') {
                    return false;
                }
            }
            return true;
        }
    
        //判断用户名是否唯一(传入参数:用户集合,用户名)唯一返回true,不唯一返回false
        public static boolean Judgment_Username_Unique(ArrayList Tuple_User, String User_name) {
            //思路:1.计数器思想
            //    2. 先找到第一次出现此用户名的集合索引,从这个索引往后找,如果还出现就返回false,没出现就返回true
    
            for (int i = 0; i < Tuple_User.size(); i++) {
                if (Tuple_User.get(i).getUser_name().equals(User_name)) {
                    for (int j = i; j < Tuple_User.size(); j++) {
                        j++;
                        if (Tuple_User.get(j).getUser_name().equals(User_name)) {
                            return false;
                        }
                    }
                }
            }
            return true;
        }
    
        //用户读入用户名(空参) 返回用户名
        public static String Get_Name() {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入您的用户名:");
            String U_N = sc.next();
            return U_N;
        }
    
        //(正确)获得用户名(参数:用户集合,用户名)正确返回
        public static String Get_Correctly_UN(ArrayList Tuple_User, String User_name) {
            if (Judgment_Username_Length(User_name)) {
                if (Judgment_Username_NOT_All_Number(User_name)) {
                    if (Judgment_Username_Unique(Tuple_User, User_name)) {
                        return User_name;
                    } else {
                        System.out.println("用户名重复");
                        System.exit(0);
                    }
                } else {
                    System.out.println("用户名不符合规范(数字)");
                    System.exit(0);
                }
            } else {
                System.out.println("用户名不符合规范(长度)");
                System.exit(0);
            }
            return "用户名错误";
        }
    
    
    //注册判断密码
    
        //用户读入密码
        public static String Get_password() {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入密码:");
            String password = sc.next();
            System.out.println("请再次读入密码:");
            String pd = sc.next();
            if (pd.equals(password) && Register_Judgement_Password(password)) {
                return password;
            }
            else{
                System.out.println("密码不同或者长度超过!");
                System.exit(0);
            }
            return "密码错误";
        }
    
        //注册判断密码(修改密码的方法返回参数,这里需要再写一个方法)参数:用户密码. 符合规范返回true,不符合返回false
        public static boolean Register_Judgement_Password(String U_PW) {
            if (U_PW.length() <= 10) {
                return true;
            }
            return false;
        }
    
    
    //注册判断身份证号码
    
        //用户读入身份证号码(无参数)返回用户读入的身份证号码
        public static String Get_ID() {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入身份证号码:");
            String ID = sc.next();
            return ID;
        }
    
        //判断长度是否为18(参数为身份证号码) 是18返回true,否返回false
        public static boolean Length_18(String ID) {
            if (ID.length() == 18) {
                return true;
            }
            System.out.println("身份证号码不符合规范");
            return false;
        }
    
        //判断前17位是否都为数字(参数为身份证号码) 是返回true,否返回false
        public static boolean ID_17_ISnumber(String ID) {
            //思路: 前17位出现了一个不是数字就返回false
            char[] ID_char = ID.toCharArray();
            for (int i = 0; i < ID_char.length - 1; i++) {
                if (ID_char[i] < '0' || ID_char[i] > '9') {
                    System.out.println("身份证号码不符合规范");
                    return false;
                }
            }
            return true;
        }
    
        //判断第1位是否为0(参数为身份证号码) 是返回true,否返回false
        public static boolean ID_First_IS0(String ID) {
            char[] ID_char = ID.toCharArray();
            if (ID_char[0] == '0') {
                System.out.println("身份证号码不符合规范");
                return true;
            }
            return false;
        }
    
        //返回正确的身份号码
        public static String Get_ID(String ID) {
            if (Length_18(ID) && ID_17_ISnumber(ID)) {
                if (!ID_First_IS0(ID)) {
                    return ID;
                }
            }
            else{
                System.out.println("ID错误");
                System.exit(0);
            }
            return "ID错误";
        }
    
    
    //注册判断手机号
    
        //用户读入手机号(无参数) 返回手机号
        public static String Phone_N() {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入手机号:");
            String NB = sc.next();
            return NB;
        }
    
        //判断长度是否为11(参数:手机号) 是返回true,否返回false
        public static boolean NB_Length_IS11(String Phone) {
            if (Phone.length() == 11) {
                return true;
            }
            System.out.println("手机号码不符合规范");
            return false;
        }
    
        //判断是否都是数字(参数:手机号) 是返回true,否返回false
        public static boolean ALL_NB(String Phone) {
            char[] NB = Phone.toCharArray();
            for (int i = 0; i < NB.length; i++) {
                if (NB[i] < '0' || NB[i] > '9') {
                    System.out.println("手机号码不符合规范");
                    return false;
                }
            }
            return true;
        }
    
        //判断是否以0开头(参数:手机号) 是返回true,否返回false
        public static boolean Head_IS_0(String Phone) {
            char[] phone_char = Phone.toCharArray();
            if (phone_char[0] == '0') {
                System.out.println("身份证号码不符合规范");
                return true;
            }
            return false;
        }
    
        //返回正确的手机号
        public static String Get_Phone(String Phone) {
            if (NB_Length_IS11(Phone) && ALL_NB(Phone)) {
                if (!Head_IS_0(Phone)) {
                    return Phone;
                }
            }
            System.out.println("手机号错误");
            System.exit(0);
            return "手机号错误";
        }
    
    
    
    
    
        //打印初始菜单
        public static void Initial_Menu() {
            System.out.println("-----------------欢迎来到学生管理系统------------------\n" +
                    "1: 添加学生\n" +
                    "2: 删除学生\n" +
                    "3: 修改学生\n" +
                    "4: 查询学生\n" +
                    "5: 退出\n" +
                    "请输入您的选择:"
            );
        }
    
    
        //读入用户所传入选项
        public static int Get_User_Number() {
            Scanner sc = new Scanner(System.in);
            int number = sc.nextInt();
            return number;
        }
    
    
        //添加学生功能实现
        public static void ADD_Student(ArrayList Tuple_Student) {
            Scanner sc = new Scanner(System.in);
    
            while (true) {
                //读入学生ID(string类型)
                System.out.println("读入要添加的学生的ID:");
                String ID = sc.next();
                //读入学生姓名
                System.out.println("读入要添加的学生的Name:");
                String Name = sc.next();
                //读入学生年龄
                System.out.println("读入要添加的学生的Age:");
                int Age = sc.nextInt();
                //读入学生住址:
                System.out.println("读入要添加的学生的住址:");
                String Home_address = sc.next();
    
                //用户读入学生信息
                Student_Object Student = new Student_Object(ID, Name, Age, Home_address);
    
                int sign = 0;
                //存入学生数据(要判断ID是否唯一)
                for (int i = 0; i < Tuple_Student.size(); i++) {
                    if (Tuple_Student.get(i).getID().equals(Student.getID())) {
                        System.out.println("有重复ID,不得添加!,请重新读入:");
                        sign = 1;
                    }
                }
                if (sign == 0) {
                    Tuple_Student.add(Student);
                    System.out.println("添加成功!");
                    return;
                }
            }
        }
    
    
        //删除学生功能实现
        public static void Delete_Student(ArrayList Tuple_Student) {
            Scanner sc = new Scanner(System.in);
            //存入用户想删除的学生的ID
            System.out.println("请读入您想删除的学生的ID:");
            String Delete_ID = sc.next();
            //判断是否存在此ID
            for (int i = 0; i < Tuple_Student.size(); i++) {
                if (Tuple_Student.get(i).getID().equals(Delete_ID)) {
                    Tuple_Student.remove(i);//删除此学生对象
                    System.out.println("删除成功");
                    System.out.println("还有需要请读入数字:");
                    return;
                }
            }
            System.out.println("无此学生ID");
            Initial_Menu();
        }
    
    
        //修改学生功能实现
        public static void Modify_Student(ArrayList Tuple_Student) {
            Scanner sc = new Scanner(System.in);
            //读入学生ID(string类型)
            System.out.println("读入要修改的学生的ID:");
            String ID = sc.next();
            //读入学生姓名
            System.out.println("读入要修改的学生的Name:");
            String Name = sc.next();
            //读入学生年龄
            System.out.println("读入要修改的学生的Age:");
            int Age = sc.nextInt();
            //读入学生住址:
            System.out.println("读入要修改的学生的住址:");
            String Home_address = sc.next();
    
            while (true) {
                //存入用户想修改的学生的ID
                System.out.println("请读入您想修改的学生的ID:");
                String Delete_ID = sc.next();
    
                //判断是否存在此ID
                for (int i = 0; i < Tuple_Student.size(); i++) {
                    if (Tuple_Student.get(i).getID().equals(Delete_ID)) {
                        Tuple_Student.get(i).setAge(Age);
                        Tuple_Student.get(i).setID(ID);
                        Tuple_Student.get(i).setName(Name);
                        Tuple_Student.get(i).setHome_address(Home_address);
                        System.out.println("修改成功");
                        return;
                    }
                }
                System.out.println("无此学生ID,请重新读入:");
            }
        }
    
    
        //查询功能实现
        public static void Find_Student(ArrayList Tuple_Student) {
            Scanner sc = new Scanner(System.in);
    
            while (true) {
                //存入用户想删除的学生的ID
                System.out.println("请读入您想查询的学生的ID:");
                String Delete_ID = sc.next();
    
                //判断是否存在此ID
                for (int i = 0; i < Tuple_Student.size(); i++) {
                    if (Tuple_Student.get(i).getID().equals(Delete_ID)) {
                        System.out.println("ID为: " + Tuple_Student.get(i).getID() + ".. 名字为: " + Tuple_Student.get(i).getName() + ".. 年龄为:" +
                                Tuple_Student.get(i).getAge() + ".. 住址为: " + Tuple_Student.get(i).getHome_address());
                        return;
                    }
                }
                System.out.println("无此学生ID,请重新读入:");
            }
        }
    
    
        //打印全部数据
        public static void Print_all_data(ArrayList Tuple_Student) {
            for (int i = 0; i < Tuple_Student.size(); i++) {
                System.out.println(
                        "ID         " + "姓名       " + "年龄      " + " 家庭住址");
    
                System.out.println(
                        Tuple_Student.get(i).getID() + "          " + Tuple_Student.get(i).getName() + "          " + Tuple_Student.get(i).getAge() + "          " + Tuple_Student.get(i).getHome_address()
                );
            }
        }
    }
    
    
  • 相关阅读:
    国家数据局国考招录12人;两万字全景讲解Agent;当基座LLM公司开始转2C;「霉霉说中文」视频的3种实现方案 | ShowMeAI日报
    C# ManualResetEvent 类分析
    设置Mysql数据库开启远程连接
    腾讯强推的599页Netty进阶神技,完美诠释Netty
    C++:深拷贝和浅拷贝——拷贝构造、赋值构造必须自定义
    计算机毕业设计ssm基于中职学校的校医务室管理系统fb558系统+程序+源码+lw+远程部署
    Less的基本语法
    一站式采购智能化系统
    JS逆向核心流程
    缺陷检测相关论文阅读总结(记录自己读过的论文主要内容/Ideas)
  • 原文地址:https://blog.csdn.net/m0_74892619/article/details/133357634