国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java】學(xué)生管理系統(tǒng)-登錄、注冊、CRUD(附完整代碼)

這篇具有很好參考價值的文章主要介紹了【Java】學(xué)生管理系統(tǒng)-登錄、注冊、CRUD(附完整代碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

代碼

public class Student {
    private String id;
    private String name;
    private int age;
    private String address;

    public Student() {

    }

    public Student(String id, String name, int age, String address) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    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 int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class App {
    public static void main(String[] args) {
        ArrayList<User> user = new ArrayList<>();
        System.out.println("錄入數(shù)據(jù)中...");
        User u1 = new User("zhangsan", "123", "610302195607011642", "13669125183");
        User u2 = new User("lisi", "456", "620502196006248385", "13363222321");
        User u3 = new User("wangwu", "789", "512731188706034846", "13765642332");
        User u4 = new User("zhaoliu", "123456", "140725184710194731", "13464323579");

        user.add(u1);
        user.add(u2);
        user.add(u3);
        user.add(u4);

        System.out.println("錄入完畢");

        String username;
        String password;
        String id;
        String phoneNumber;

        Scanner sc1 = new Scanner(System.in);

        while (true) {
            System.out.println("歡迎來到學(xué)生管理系統(tǒng)");
            System.out.println("請選擇操作1登錄 2注冊 3忘記密碼");
            int select = sc1.nextInt();
            switch (select) {
                case 1:
                    while (true) {
                        System.out.println("登錄");
                        System.out.println("請輸入用戶名:(輸入-1,則返回登錄界面)");
                        username = sc1.next();
                        if (username.equals("-1")) {
                            break;
                        }
                        if (login(username, user)) {
                            System.out.println("登錄成功");
//                            StudentSytstem studentSytstem = new StudentSytstem();
                            StudentSytstem.start();
                            // showAll(user);
                            break;
                        } else {
                            System.out.println("登錄失敗");
                            System.out.println("-----------------------------------------");
                        }
                    }
                    break;
                case 2:
                    while (true) {
                        System.out.println("注冊");
                        System.out.println("請輸入用戶名:(輸入-1,則返回登錄界面)");
                        username = sc1.next();
                        if (!usernameRule(username)) {
                            System.out.println("username格式錯誤");
                            System.out.println("用戶名唯一" + "\n" +
                                    "用戶名長度必須在3~15位之間" + "\n" +
                                    "只能是字母加數(shù)字的組合,但是不能是純數(shù)字");
                            System.out.println("-----------------------------------------");
                            continue;
                        }
                        if (username.equals("-1")) {
                            break;
                        }
                        if (register(username, user)) {
                            System.out.println("注冊成功");
                            printList(user);
                            System.out.println("-----------------------------------------");
                            break;
                        } else {
                            System.out.println("刪除失敗");
                            System.out.println("-----------------------------------------");
                        }
                    }
                    break;
                case 3:
                    while(true) {
                        System.out.println("忘記密碼");
                        System.out.println("請輸入username:(輸入-1,則返回登錄界面)");
                        username = sc1.next();
                        if (username.equals("-1")) {
                            break;
                        }
                        if(forgetPassword(username, user)) {
                            System.out.println("修改成功");
                            System.out.println("-----------------------------------------");
                            break;
                        } else {
                            System.out.println("修改失敗");
                            System.out.println("-----------------------------------------");
                        }
                    }

                    break;

                case 4:
                    System.out.println("謝謝使用,再見!");
                    System.exit(0);
                    break;
                default:
                    System.out.println("沒有這個選項(xiàng)");
                    break;
            }
        }
    }

    private static void printList(ArrayList<User> user) {
        System.out.println(String.format(
                String.format("%-16s |", "姓名") +
                String.format("%-8s |", "密碼") +
                String.format("%-18s |", "身份證號") +
                String.format("%-8s |", "手機(jī)號碼")));

        for (int i = 0; i < user.size(); i++) {
            System.out.print(String.format("%-16s |", user.get(i).getUsername()));
            System.out.print(String.format("%-8s |", user.get(i).getPassword()));
            System.out.print(String.format("%-18s |", user.get(i).getId()));
            System.out.print(String.format("%-8s |", user.get(i).getPhoneNumber()));
            System.out.println();
        }
    }

    public static boolean login(String username, ArrayList<User> user) {
        Scanner sc2 = new Scanner(System.in);
        /*
        * // 生成四位隨機(jī)數(shù)字的驗(yàn)證碼,取消注釋
        * Random random = new Random();
        * int randomNumber = random.nextInt(9000) + 1000;
        */

        for (int i = 0; i < user.size(); i++) {
            if (username.equals(user.get(i).getUsername())){
                System.out.println("請輸入密碼:");
                String password = sc2.next();
                // 生成四位隨機(jī)數(shù)字的驗(yàn)證碼,替換下一行代碼
                // String generate_code = String.valueOf(randomNumber);
                String generate_code = getCode();
                System.out.println("驗(yàn)證碼為:" + generate_code);
                System.out.println("請輸入驗(yàn)證碼:");
                String code = sc2.next();
                if (user.get(i).getPassword().equals(password) && generate_code.equals(code)) {
                    System.out.println("密碼或驗(yàn)證碼錯誤!");
                    return true;
                }
            }
        }
        System.out.println("用戶不存在");
        return false;
    }

    public static boolean register(String username, ArrayList<User> user) {
        for (int i = 0; i < user.size(); i++) {
            if (username.equals(user.get(i).getUsername())){
                System.out.println("用戶名已存在,不能錄入");
                return false;
            }
        }

        Scanner sc3 = new Scanner(System.in);

        String password1, password2;
        while (true) {
            System.out.println("請輸入password:");
            password1 = sc3.next();
            System.out.println("請重新輸入一次password:");
            password2 = sc3.next();
            if (password1.equals(password2)) {
                break;
            }
            System.out.println("兩次輸入的password不一樣,請重新輸入");
        }

        while (true) {
            System.out.println("請輸入id:");
            String id = sc3.next();
            if (!idRule(id)) {
                System.out.println("id格式錯誤,請重新輸入id:");
                continue;
            }
            System.out.println("請輸入phoneNumber:");
            String phoneNumber = sc3.next();
            if (!phoneNumberRule(phoneNumber)) {
                System.out.println("phoneNumber格式錯誤,請重新輸入phoneNumber:");
                continue;
            }
            User u = new User(username, password1, id, phoneNumber);
            user.add(u);
            return true;
        }
    }

    public static boolean forgetPassword(String username,  ArrayList<User> user) {
        Scanner sc4 = new Scanner(System.in);
        for (int i = 0; i < user.size(); i++) {
            if (!username.equals(user.get(i).getUsername())){
                System.out.println("用戶名不存在,不能修改密碼");
                return false;
            } else {
                while (true) {
                    System.out.println("請輸入id:");
                    String id = sc4.next();
                    if (!idRule(id)) {
                        System.out.println("id格式錯誤");
                        continue;
                    }
                    System.out.println("請輸入phoneNumber:");
                    String phoneNumber = sc4.next();
                    if (!phoneNumberRule(phoneNumber)) {
                        System.out.println("phoneNumber格式錯誤");
                        continue;
                    }
                    if (id.equals(user.get(i).getId()) && phoneNumber.equals(user.get(i).getPhoneNumber())) {
                        System.out.println("請輸入要修改的password:");
                        String new_password =sc4.next();
                        user.get(i).setPassword(new_password);
                        return true;
                    }
                }
            }
        }
        System.out.println("賬號信息不匹配,修改失敗");
        return false;
    }

    // 到len為止全是數(shù)字
    public static boolean isNumber(String target, int len) {
        boolean flag = true;
        for (int i = len;--i>=0;){
            if (!Character.isDigit(target.charAt(i))){
                flag = false;
            }
        }
        if (flag)
            return true;
        return false;
    }

    /*
     * 不使用正則表達(dá)式,判斷用戶名
     */
    public static boolean usernameRule(String username) {
        int length = username.length();
        if ((length >= 3 && length <= 15) && !(isNumber(username, length))){
            return true;
        }
        return false;
    }

    public static boolean idRule(String id) {
        int length = id.length();
        if (length == 18
                && !(id.charAt(0) == '0')
                && isNumber(id, 17)
                && ((isNumber(String.valueOf(id.charAt(17)), 1)) || id.endsWith("X") || id.endsWith("x"))) {
            return true;
        }
        return false;
    }

    public static boolean phoneNumberRule(String phoneNumber) {
        int length = phoneNumber.length();
        if (length == 11
                && !(phoneNumber.startsWith("0"))
                && isNumber(phoneNumber, 11)) {
            return true;
        }
        return false;
    }

    private static String getCode() {
        //1.創(chuàng)建一個集合添加所有的大寫和小寫字母
        ArrayList<Character> list = new ArrayList<>();
        for (int i = 0; i < 26; i++) {
            list.add((char) ('a' + i));
            list.add((char) ('A' + i));
        }

        StringBuilder sb = new StringBuilder();
        //2.要隨機(jī)抽取4個字符
        Random r = new Random();
        for (int i = 0; i < 4; i++) {
            //獲取隨機(jī)索引
            int index = r.nextInt(list.size());
            //利用隨機(jī)索引獲取字符
            char c = list.get(index);
            //把隨機(jī)字符添加到sb當(dāng)中
            sb.append(c);
        }

        //3.把一個隨機(jī)數(shù)字添加到末尾
        int number = r.nextInt(10);
        sb.append(number);

        //4.如果我們要修改字符串中的內(nèi)容
        //先把字符串變成字符數(shù)組,在數(shù)組中修改,然后再創(chuàng)建一個新的字符串
        char[] arr = sb.toString().toCharArray();
        //拿著最后一個索引,跟隨機(jī)索引進(jìn)行交換
        int randomIndex = r.nextInt(arr.length);
        //最大索引指向的元素 跟隨機(jī)索引指向的元素交換
        char temp = arr[randomIndex];
        arr[randomIndex] = arr[arr.length - 1];
        arr[arr.length - 1] = temp;
        return new String(arr);

    }
}


import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class App {
    static  ArrayList<User> user = new ArrayList<>();
    static {
        System.out.println("錄入數(shù)據(jù)中...");
        User u1 = new User("zhangsan", "123", "610302195607011642", "13669125183");
        User u2 = new User("lisi", "456", "620502196006248385", "13363222321");
        User u3 = new User("wangwu", "789", "512731188706034846", "13765642332");
        User u4 = new User("zhaoliu", "123456", "140725184710194731", "13464323579");

        user.add(u1);
        user.add(u2);
        user.add(u3);
        user.add(u4);

        System.out.println("錄入完畢");
    }

    public static void main(String[] args) throws InterruptedException {
        String username;
        String password;
        String id;
        String phoneNumber;

        Scanner sc1 = new Scanner(System.in);

        while (true) {
            System.out.println("歡迎來到學(xué)生管理系統(tǒng)");
            System.out.println("請選擇操作1登錄 2注冊 3忘記密碼");
            int select = sc1.nextInt();
            switch (select) {
                case 1:
                    while (true) {
                        System.out.println("登錄");
                        System.out.println("請輸入用戶名:(輸入-1,則返回登錄界面)");
                        username = sc1.next();
                        if (username.equals("-1")) {
                            break;
                        }
                        if (login(username, user)) {
                            System.out.println("登錄成功");
                            // StudentSytstem studentSytstem = new StudentSytstem();
                            StudentSytstem.start();
                            // showAll(user);
                            break;
                        } else {
                            System.out.println("登錄失敗");
                            System.out.println("-----------------------------------------");
                        }
                    }
                    break;
                case 2:
                    while (true) {
                        System.out.println("注冊");
                        System.out.println("請輸入用戶名:(輸入-1,則返回登錄界面)");
                        username = sc1.next();
                        if (!usernameRule(username)) {
                            System.out.println("username格式錯誤");
                            System.out.println("用戶名唯一" + "\n" +
                                    "用戶名長度必須在3~15位之間" + "\n" +
                                    "只能是字母加數(shù)字的組合,但是不能是純數(shù)字");
                            System.out.println("-----------------------------------------");
                            continue;
                        }
                        if (username.equals("-1")) {
                            break;
                        }
                        if (register(username, user)) {
                            System.out.println("注冊成功");
                            System.out.println("-----------------------------------------");
                            break;
                        } else {
                            System.out.println("刪除失敗");
                            System.out.println("-----------------------------------------");
                        }
                    }
                    break;
                case 3:
                    while(true) {
                        System.out.println("忘記密碼");
                        System.out.println("請輸入username:(輸入-1,則返回登錄界面)");
                        username = sc1.next();
                        if (username.equals("-1")) {
                            break;
                        }
                        if(forgetPassword(username, user)) {
                            System.out.println("修改成功");
                            System.out.println("-----------------------------------------");
                            break;
                        } else {
                            System.out.println("修改失敗");
                            System.out.println("-----------------------------------------");
                        }
                    }

                    break;

                case 4:
                    System.out.println("謝謝使用,再見!");
                    System.exit(0);
                    break;
                default:
                    System.out.println("沒有這個選項(xiàng)");
                    break;
            }
        }
    }

    public static boolean login(String username, ArrayList<User> user) throws InterruptedException {
        Scanner sc2 = new Scanner(System.in);
        /*
        * // 生成四位隨機(jī)數(shù)字的驗(yàn)證碼,取消注釋
        * Random random = new Random();
        * int randomNumber = random.nextInt(9000) + 1000;
        */


        for (int i = 0; i < user.size(); i++) {
            if (username.equals(user.get(i).getUsername())){
                for (int j = 0; j < 3; j++) {
                    System.out.println("請輸入密碼:");
                    String password = sc2.next();
                    // 生成四位隨機(jī)數(shù)字的驗(yàn)證碼,替換下一行代碼
                    // String generate_code = String.valueOf(randomNumber);
                    String generate_code = getCode();
                    System.out.println("驗(yàn)證碼為:" + generate_code);
                    System.out.println("請輸入驗(yàn)證碼:");
                    String code = sc2.next();
                    if (user.get(i).getPassword().equals(password) && generate_code.equals(code)) {
                        return true;
                    }
                    if (j == 2) {
                        System.out.println("當(dāng)前系統(tǒng)被鎖定3秒");
                        Thread.sleep(3000);
                    } else {
                        System.out.println("用戶名、密碼或驗(yàn)證碼錯誤,還剩下" + (2 - j) + "次機(jī)會");
                    }
                }
            }
        }

        System.out.println("當(dāng)前用戶" + username + "不存在,請先注冊");
        return false;
    }

    public static boolean register(String username, ArrayList<User> user) {
        for (int i = 0; i < user.size(); i++) {
            if (username.equals(user.get(i).getUsername())){
                System.out.println("用戶名已存在,不能反復(fù)注冊");
                return false;
            }
        }

        Scanner sc3 = new Scanner(System.in);

        String password1, password2;
        while (true) {
            System.out.println("請輸入password:");
            password1 = sc3.next();
            System.out.println("請重新輸入一次password:");
            password2 = sc3.next();
            if (password1.equals(password2)) {
                break;
            }
            System.out.println("兩次輸入的password不一樣,請重新輸入");
        }

        while (true) {
            System.out.println("請輸入id:");
            String id = sc3.next();
            if (!idRule(id)) {
                System.out.println("id格式錯誤,請重新輸入id:");
                continue;
            }
            System.out.println("請輸入phoneNumber:");
            String phoneNumber = sc3.next();
            if (!phoneNumberRule(phoneNumber)) {
                System.out.println("phoneNumber格式錯誤,請重新輸入phoneNumber:");
                continue;
            }
            User u = new User(username, password1, id, phoneNumber);
            user.add(u);
            System.out.println(
                    String.format("%-16s|", "姓名") +
                    String.format("%-8s|", "密碼") +
                    String.format("%-18s|", "身份證號") +
                    String.format("%-8s|", "手機(jī)號碼"));
            System.out.print(String.format("%-16s|", username));
            System.out.print(String.format("%-8s|", password1));
            System.out.print(String.format("%-18s|", id));
            System.out.print(String.format("%-8s", phoneNumber));
            System.out.println();
            return true;
        }
    }

    public static boolean forgetPassword(String username,  ArrayList<User> user) {
        Scanner sc4 = new Scanner(System.in);
        for (int i = 0; i < user.size(); i++) {
            if (!username.equals(user.get(i).getUsername())){
                System.out.println("用戶名不存在,不能修改密碼,請先注冊");
                return false;
            } else {
                while (true) {
                    System.out.println("請輸入id:");
                    String id = sc4.next();
                    if (!idRule(id)) {
                        System.out.println("id格式錯誤");
                        continue;
                    }
                    System.out.println("請輸入phoneNumber:");
                    String phoneNumber = sc4.next();
                    if (!phoneNumberRule(phoneNumber)) {
                        System.out.println("phoneNumber格式錯誤");
                        continue;
                    }
                    if (id.equals(user.get(i).getId()) && phoneNumber.equals(user.get(i).getPhoneNumber())) {
                        System.out.println("請輸入要修改的password:");
                        String new_password =sc4.next();
                        // 如果想要校驗(yàn)密碼,仿照上面的就行,這里不重復(fù)了
                        user.get(i).setPassword(new_password);
                        return true;
                    }
                }
            }
        }
        System.out.println("賬號信息不匹配,修改失敗");
        return false;
    }

    // 到len為止全是數(shù)字
    public static boolean isNumber(String target, int len) {
        boolean flag = true;
        for (int i = len;--i>=0;){
            if (!Character.isDigit(target.charAt(i))){
                flag = false;
            }
        }
        if (flag)
            return true;
        return false;
    }

    /*
     * 不使用正則表達(dá)式,判斷用戶名
     */
    public static boolean usernameRule(String username) {
        int length = username.length();
        if ((length >= 3 && length <= 15) && !(isNumber(username, length))){
            return true;
        }
        return false;
    }

    public static boolean idRule(String id) {
        int length = id.length();
        if (length == 18
                && !(id.charAt(0) == '0')
                && isNumber(id, 17)
                && ((isNumber(String.valueOf(id.charAt(17)), 1)) || id.endsWith("X") || id.endsWith("x"))) {
            return true;
        }
        return false;
    }

    public static boolean phoneNumberRule(String phoneNumber) {
        int length = phoneNumber.length();
        if (length == 11
                && !(phoneNumber.startsWith("0"))
                && isNumber(phoneNumber, 11)) {
            return true;
        }
        return false;
    }

    private static String getCode() {
        //1.創(chuàng)建一個集合添加所有的大寫和小寫字母
        ArrayList<Character> list = new ArrayList<>();
        for (int i = 0; i < 26; i++) {
            list.add((char) ('a' + i));
            list.add((char) ('A' + i));
        }

        StringBuilder sb = new StringBuilder();
        //2.要隨機(jī)抽取4個字符
        Random r = new Random();
        for (int i = 0; i < 4; i++) {
            //獲取隨機(jī)索引
            int index = r.nextInt(list.size());
            //利用隨機(jī)索引獲取字符
            char c = list.get(index);
            //把隨機(jī)字符添加到sb當(dāng)中
            sb.append(c);
        }

        //3.把一個隨機(jī)數(shù)字添加到末尾
        int number = r.nextInt(10);
        sb.append(number);

        //4.如果我們要修改字符串中的內(nèi)容
        //先把字符串變成字符數(shù)組,在數(shù)組中修改,然后再創(chuàng)建一個新的字符串
        char[] arr = sb.toString().toCharArray();
        //拿著最后一個索引,跟隨機(jī)索引進(jìn)行交換
        int randomIndex = r.nextInt(arr.length);
        //最大索引指向的元素 跟隨機(jī)索引指向的元素交換
        char temp = arr[randomIndex];
        arr[randomIndex] = arr[arr.length - 1];
        arr[arr.length - 1] = temp;
        return new String(arr);

    }
}
import java.util.ArrayList;
import java.util.Scanner;

public class StudentSytstem {
    private static final String ADD_STUDENT = "1";
    private static final String DELE_STUDENT = "2";
    private static final String UPDATE_STUDENT = "3";
    private static final String QUERY_STUDENT = "4";
    private static final String ALL_STUDENT = "5";
    private static final String LOGIN = "6";
    private static final String EXIT = "7";

    static ArrayList<Student> student = new ArrayList<>();

    static {
        System.out.println("錄入數(shù)據(jù)中...");
        Student s1 = new Student("001", "張三", 23, "南京");
        Student s2 = new Student("002", "李四", 24, "北京");
        Student s3 = new Student("003", "王五", 25, "廣州");
        Student s4 = new Student("004", "趙六", 26, "深圳");

        student.add(s1);
        student.add(s2);
        student.add(s3);
        student.add(s4);

        System.out.println("錄入完畢");
    }

    public static void start() throws InterruptedException {

        ArrayList<Student> student = new ArrayList<>();
        System.out.println("錄入數(shù)據(jù)中...");
        Student s1 = new Student("001", "張三", 23, "南京");
        Student s2 = new Student("002", "李四", 24, "北京");
        Student s3 = new Student("003", "王五", 25, "廣州");
        Student s4 = new Student("004", "趙六", 26, "深圳");

        student.add(s1);
        student.add(s2);
        student.add(s3);
        student.add(s4);

        System.out.println("錄入完畢");

        Scanner sc = new Scanner(System.in);
        String id;
        String name;
        int age;
        String address;
        while(true) {
            System.out.println(
                    "--------------歡迎來到學(xué)生管理系統(tǒng)-----------------" + "\n" +
                            "1:添加學(xué)生" + "\n" +
                            "2:刪除學(xué)生" + "\n" +
                            "3:修改學(xué)生" + "\n" +
                            "4:查詢學(xué)生" + "\n" +
                            "5:所有學(xué)生" + "\n" +
                            "6:返回登錄界面" + "\n" +
                            "7:退出系統(tǒng)" + "\n" +
                            "請輸入您的選擇:");
            int select = sc.nextInt();
            switch (select) {
                case ADD_STUDENT:
                    while(true) {
                        System.out.println("添加");
                        System.out.println("請輸入id:(輸入-1,則返回主菜單)");
                        id = sc.next();
                        if (id.equals("-1")) {
                            break;
                        }
                        if (addStudent(id, student)) {
                            System.out.println("添加成功");
                            showAll(student);
                            break;
                        } else {
                            System.out.println("添加失敗");
                        }
                    }
                    break;
                case DELE_STUDENT:
                    while (true) {
                        System.out.println("刪除");
                        System.out.println("請輸入id:(輸入-1,則返回主菜單)");
                        id = sc.next();
                        if (id.equals("-1")) {
                            break;
                        }
                        if (deleteStudent(id, student)) {
                            System.out.println("刪除成功");
                            showAll(student);
                            break;
                        } else {
                            System.out.println("刪除失敗");
                        }
                    }

                    break;
                case UPDATE_STUDENT:
                    while(true) {
                        System.out.println("修改");
                        System.out.println("請輸入id:(輸入-1,則返回主菜單)");
                        id = sc.next();
                        if (id.equals("-1")) {
                            break;
                        }
                        if(updateStudent(id, student)) {
                            System.out.println("修改成功");
                            showAll(student);
                            break;
                        } else {
                            System.out.println("修改失敗");
                        }
                    }

                    break;
                case QUERY_STUDENT:
                    while(true) {
                        System.out.println("查詢");
                        System.out.println("請輸入id:(輸入-1,則返回主菜單)");
                        id = sc.next();
                        if (id.equals("-1")) {
                            break;
                        }
                        if (queryStudent(id, student) != null) {
                            Student s = queryStudent(id, student);
                            System.out.println("id\t\t\t姓名\t\t年齡\t\t家庭住址");
                            System.out.print(s.getId() + "\t");
                            System.out.print(s.getName() + "\t\t");
                            System.out.print(s.getAge() + "\t\t");
                            System.out.print(s.getAddress());
                            System.out.println();
                            break;
                        } else {
                            System.out.println("查找失敗");
                        }
                    }

                    break;
                case ALL_STUDENT:
                    System.out.println("所有學(xué)生");
                    showAll(student);
                    break;
                case LOGIN:
                    System.out.println("返回登錄界面");
                    String[] args = {""};
                    App.main(args);
                case EXIT:
                    System.out.println("退出系統(tǒng)");
                    System.exit(0);
                default:
                    System.out.println("沒有這個選項(xiàng)");
                    break;
            }
        }

    }

    private static Student queryStudent(String id, ArrayList<Student> student) {
        if (student.size() == 0) {
            System.out.println("當(dāng)前無學(xué)生信息,請?zhí)砑雍笤俨樵?);
            return null;
        }
        for (int i = 0; i < student.size(); i++) {
            if (id.equals(student.get(i).getId())) {
                Student s = student.get(i);
                return s;
            }
        }
        return null;
    }

    private static boolean updateStudent(String id, ArrayList<Student> student) {
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < student.size(); i++) {
            if (id.equals(student.get(i).getId())) {
                System.out.println(student.get(i).getName());
                System.out.println("請輸入修改的姓名:");
                String new_name = sc.next();
                System.out.println(student.get(i).getAge());
                System.out.println("請輸入修改的年齡:");
                int new_age = sc.nextInt();
                System.out.println(student.get(i).getAddress());
                System.out.println("請輸入修改的地址:");
                String new_address = sc.next();
                Student s = new Student(id, new_name, new_age, new_address);
                student.set(i, s);
                return true;
            }
        }
        System.out.println("id不存在");
        return false;
    }

    private static boolean deleteStudent(String id, ArrayList<Student> student) {
        for (int i = 0; i < student.size(); i++) {
            if (id.equals(student.get(i).getId())) {
                student.remove(i);
                return true;
            }
        }
        return false;
    }

    private static boolean addStudent(String id, ArrayList<Student> student) {
        for (int i = 0; i < student.size(); i++) {
            if (id.equals(student.get(i).getId())){
                System.out.println("id已存在,不能錄入");
                return false;
            }
        }

        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入name:");
        String name = sc.next();
        System.out.println("請輸入age:");
        int age = sc.nextInt();
        System.out.println("請輸入address:");
        String address = sc.next();
        Student s = new Student(id, name, age, address);
        student.add(s);
        return true;
    }
    private static void showAll(ArrayList<Student> student) {
        if (student.size() == 0) {
            System.out.println("當(dāng)前無學(xué)生信息,請?zhí)砑雍笤俨樵?);
            return;
        }
        for (int i = 0; i < student.size(); i++) {
            if (i == 0) {
                System.out.println(String.format("%-8s |", "id") + String.format("%-16s |", "姓名") + String.format("%-8s |", "年齡") + String.format("%-8s |", "家庭住址"));
            }
            System.out.print(String.format("%-8s |", student.get(i).getId()));
            System.out.print(String.format("%-16s |", student.get(i).getName()));
            System.out.print(String.format("%-8d |", student.get(i).getAge()));
            System.out.print(String.format("%-8s |", student.get(i).getAddress()));
            System.out.println();
        }
    }
}

需求

  • 為學(xué)生管理系統(tǒng)書寫一個登陸、注冊、忘記密碼的功能。
  • 只有用戶登錄成功之后,才能進(jìn)入到學(xué)生管理系統(tǒng)中進(jìn)行增刪改查操作。
  • 采取控制臺的方式去書寫學(xué)生管理系統(tǒng)。

管理系統(tǒng)注冊登錄,Java,java,開發(fā)語言,1024程序員節(jié)

管理系統(tǒng)注冊登錄,Java,java,開發(fā)語言,1024程序員節(jié)

學(xué)生類

屬性:id、姓名、年齡、家庭住址

用戶類

屬性:用戶名、密碼、身份證號碼、手機(jī)號碼

學(xué)生管理系統(tǒng)登錄界面

注冊功能

1,用戶名需要滿足以下要求

驗(yàn)證要求:

  • 用戶名唯一
  • 用戶名長度必須在3~15位之間
  • 只能是字母加數(shù)字的組合,但是不能是純數(shù)字

2,密碼鍵盤輸入兩次,兩次一致才可以進(jìn)行注冊

3,身份證號碼需要驗(yàn)證

驗(yàn)證要求:

  • 長度為18位
  • 不能以0為開頭
  • 前17位,必須都是數(shù)字
  • 最為一位可以是數(shù)字,也可以是大寫X或小寫x

4,手機(jī)號驗(yàn)證

  • 驗(yàn)證要求:
  • 長度為11位
  • 不能以0為開頭
  • 必須都是數(shù)字

管理系統(tǒng)注冊登錄,Java,java,開發(fā)語言,1024程序員節(jié)

登錄功能

1,鍵盤錄入用戶名

2,鍵盤錄入密碼

3,鍵盤錄入驗(yàn)證碼

????????驗(yàn)證要求:

  • 用戶名如果未注冊,直接結(jié)束方法,并提示:用戶名未注冊,請先注冊
  • 判斷驗(yàn)證碼是否正確,如不正確,重新輸入
  • 再判斷用戶名和密碼是否正確,有3次機(jī)會
登錄成功

管理系統(tǒng)注冊登錄,Java,java,開發(fā)語言,1024程序員節(jié)

密碼錯誤3次

管理系統(tǒng)注冊登錄,Java,java,開發(fā)語言,1024程序員節(jié)

用戶不存在?

管理系統(tǒng)注冊登錄,Java,java,開發(fā)語言,1024程序員節(jié)

忘記密碼

1,鍵盤錄入用戶名,判斷當(dāng)前用戶名是否存在,如不存在,直接結(jié)束方法,并提示:未注冊

2,鍵盤錄入身份證號碼和手機(jī)號碼

3,判斷當(dāng)前用戶的身份證號碼和手機(jī)號碼是否一致,

  • 如果一致,則提示輸入密碼,進(jìn)行修改。
  • 如果不一致,則提示:賬號信息不匹配,修改失敗。

驗(yàn)證碼規(guī)則

  • 長度為5
  • 由4位大寫或者小寫字母和1位數(shù)字組成,同一個字母可重復(fù)
  • 數(shù)字可以出現(xiàn)在任意位置
  • 比如:aQa1K

添加功能

鍵盤錄入每一個學(xué)生信息并添加,需要滿足以下要求:

  • id唯一

刪除功能

鍵盤錄入要刪除的學(xué)生id,需要滿足以下要求:

  • id存在刪除

  • id不存在,需要提示不存在,并回到初始菜單

管理系統(tǒng)注冊登錄,Java,java,開發(fā)語言,1024程序員節(jié)

修改功能

鍵盤錄入要修改的學(xué)生id,需要滿足以下要求

  • id存在,繼續(xù)錄入其他信息

  • id不存在,需要提示不存在,并回到初始菜單

查詢功能

打印所有的學(xué)生信息,需要滿足以下要求

  • 如果沒有學(xué)生信息,提示:當(dāng)前無學(xué)生信息,請?zhí)砑雍笤俨樵?/p>

  • 如果有學(xué)生信息,需要按照格式輸出。

管理系統(tǒng)注冊登錄,Java,java,開發(fā)語言,1024程序員節(jié)

待更新

1、正則表達(dá)式——>判斷格式

2、數(shù)據(jù)的永久化存儲——>登錄次數(shù)過多,鎖定賬號?

更新

2023/10/24 加入靜態(tài)代碼塊

結(jié)論

系統(tǒng)有較好的健壯性,對于大部分異常輸入都會處理。如果發(fā)現(xiàn)有未處理的地方,請?jiān)谠u論區(qū)告訴我,我會盡快修改,謝謝!文章來源地址http://www.zghlxwxcb.cn/news/detail-775176.html

到了這里,關(guān)于【Java】學(xué)生管理系統(tǒng)-登錄、注冊、CRUD(附完整代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包