java学生信息管理系统(基础)

1.User.java

public class User {
    private String username;
    private String password;
    private String personId;
    private String phonenumber;

    public User() {
    }

    public User(String username, String password, String personId, String phonenumber) {
        this.username = username;
        this.password = password;
        this.personId = personId;
        this.phonenumber = phonenumber;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPersonId() {
        return personId;
    }

    public void setPersonId(String personId) {
        this.personId = personId;
    }

    public String getPhonenumber() {
        return this.phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }


}

2.UserTest.java

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

public class UserTest {
    public static void main(String[] args) {
        ArrayList<User> list = new ArrayList<User>();
        while (true) {
            System.out.println("----欢迎来到学生管理系统----");
            System.out.println("1.登录  2.注册   3.忘记密码   4.退出");
            System.out.println("--------------------------");
            Scanner sc = new Scanner(System.in);
            String choose = sc.next();
            switch (choose) {
                case "1":
                    Login(list);
                    break;
                case "2":
                    Register(list);
                    break;
                case "3":
                    ForgetPassword(list);
                    break;
                case "4":
                    System.out.println("退出系统,谢谢使用。");
                    System.exit(0);
                    break;
                default:
                    System.out.println("没有这个选项,请重新输入。");
            }
        }
    }

    //忘记密码
    private static void ForgetPassword(ArrayList<User> list) {
        Scanner sc = new Scanner(System.in);
        String susername;
        while (true) {
            System.out.println("请输入忘记的账号:");
            susername = sc.next();
            boolean flag = contains(list, susername);
            if (flag) {
                System.out.println("账号不存在,请检查:");
                continue;
            }break;}

        while (true) {
            System.out.println("请输入身份证号:");
            String spersonid = sc.next();
            int index = 0;
            for (int i = 0; i < list.size(); i++) {
                User user = list.get(i);
                if (spersonid.equals(user.getPersonId())) {
                    index = i;
                }
            }
            User user1 = list.get(index);
            if (user1.getPersonId().equals(spersonid)) {
                System.out.println("你的密码是" + user1.getPassword());
                break;
            } else {
                System.out.println("身份证输入错误,请重新输入!");
                continue;
            }
        }

    }




    //注册
    private static void Register(ArrayList<User> list) {

        Scanner sc = new Scanner(System.in);
        String susername;//用户名
        String pwd;//第一次的密码
        String spwd;//第二次输入的密码
        String personid;//身份证号
        String phonenumber;//手机号
        while (true) {
            System.out.println("请输入用户名:");
            susername = sc.next();
            boolean flag1 = checkUsername(susername);
            boolean flag2 = contains(list, susername);
            if (!flag1 || !flag2) {
                System.out.println("用户名格式错误或者用户名已经存在,请重新输入:");
                continue;
            } else {
                break;
            }
        }
        while (true) {
            System.out.println("请输入密码:");
            pwd = sc.next();
            System.out.println("请再次输入密码:");
            spwd = sc.next();
            boolean flag = checkUserpwd(pwd, spwd);
            if (!flag) {
                System.out.println("输入的2次密码不相同!");
            } else {
                break;
            }
        }
        while (true) {
            System.out.println("请输入身份证号:");
            personid = sc.next();
            if (personid.length() != 18) {
                System.out.println("身份证格式错误,请重新输入:");
                continue;
            } else {
                break;
            }
        }
        while (true) {
            System.out.println("请输入手机号:");
            phonenumber = sc.next();
            if (phonenumber.length() != 11 || phonenumber.charAt(0) == 0) {
                System.out.println("手机号格式错误,请重新输入");
                continue;
            } else {
                break;
            }
        }
        User user = new User(susername, pwd, personid, phonenumber);
        list.add(user);
        System.out.print("注册成功!");
        printlist(list);
    }


    //遍历集合
    private static void printlist(ArrayList<User> list) {
        for (int i = 0; i < list.size(); i++) {
            User user = list.get(i);
            System.out.println(user.getUsername() + "," + user.getPassword() + "," + user.getPersonId() + "," + user.getPhonenumber());
        }
    }


    //登录
    private static void Login(ArrayList<User> list) {
        Scanner sc = new Scanner(System.in);
        String username;
        while (true) {
            System.out.println("请输入账号:");
            username = sc.next();
            boolean flag = contains(list, username);
            if (flag) {
                System.out.println("账号不存在,请注册后,重新登录");
                continue;
            }
            break;
        }
        while (true) {
            System.out.println("请输入密码:");
            String spwd = sc.next();
            int index = 0;
            for (int i = 0; i < list.size(); i++) {
                User user = list.get(i);
                if (username.equals(user.getUsername())) {
                    index = i;
                    break;
                }
            }
            User user1 = list.get(index);
            if (user1.getPassword().equals(spwd)) {
                System.out.println("登录成功!!!");
                StudentTest ss=new StudentTest();
                ss.startStudentSystem();
                break;
            } else {
                System.out.println("密码错误,请重新登输入密码!");
                continue;
            }
        }
    }


    //注册验证用户名格式
    private static boolean checkUsername(String susername) {
        //用户名长度校验
        int len = susername.length();
        if (len < 3 || len > 15) {
            return false;
        }
        //只能是数字加字母的组合
        for (int i = 0; i < susername.length(); i++) {
            char c = susername.charAt(i);
            if (!(('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || ('0' <= c && '9' >= c))) {
                return false;
            }
        }
        //不能全是数字
        int count = 0;
        for (int i = 0; i < susername.length(); i++) {
            char a = susername.charAt(i);
            if (('a' <= a && a <= 'z') || ('A' <= a && a <= 'Z')) {
                count++;
            }
        }
        if (count == 0) {
            return false;
        } else {
            return true;
        }
    }


    //验证注册的用户名是否存在
    private static boolean contains(ArrayList<User> list, String susername) {
        for (int i = 0; i < list.size(); i++) {
            User user = list.get(i);
            if (user.getUsername().equals(susername)) {
                return false;
            }
        }
        return true;
    }

    //验证注册2次输入的密码是否相同
    private static boolean checkUserpwd(String pwd, String spwd) {
        if (pwd.equals(spwd)) {
            return true;
        } else {
            return false;
        }
    }
}

3.Student.java

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;
    }
}

4.StudentTest.java

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

public class StudentTest {
    public static void startStudentSystem() {
        ArrayList<Student> list = new ArrayList<>();
        while (true) {
            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.println("请输入你的选择:");
            Scanner sc = new Scanner(System.in);
            String choose = sc.next();
            switch (choose) {
                case "1":
                    AddStudent(list);
                    break;
                case "2":
                    DeleteStudent(list);
                    break;
                case "3":
                    UpdateStudent(list);
                    break;
                case "4":
                    FindAllStudent(list);
                    break;
                case "5":
                    System.out.println("退出系统,谢谢使用。");
                    System.exit(0);
                default:
                    System.out.println("没有这个选项,请重新输入。");
            }
        }

    }

    //1.添加学生信息
    public static void AddStudent(ArrayList<Student> list){
        System.out.println("输入学生学号:");
        Scanner sc=new Scanner(System.in);
        String sid=sc.next();
        // 定义标记,判断学生学号是否被占用
        boolean flag = true;
        for (int i = 0; i < list.size(); i++) {
            Student stu=list.get(i);
            if (stu.getId().equals(sid)){
                flag=false;
                System.out.println("学号重复。添加失败。");
                break;
            }
        }
        if (flag){
            Student stu=new Student();
            System.out.println("输入学生的姓名:");
            stu.setName(sc.next());
            System.out.println("输入学生的年龄:");
            stu.setAge(sc.nextInt());
            System.out.println("输入学生的地址:");
            stu.setAddress(sc.next());
            stu.setId(sid);
            list.add(stu);
            System.out.println("添加成功。");
        }
    }



    //2.删除学生信息
    public static void DeleteStudent(ArrayList<Student> list){
        Scanner sc=new Scanner(System.in);
        System.out.println("输入删除学生的学号:");
        String sid=sc.next();
        int index=-1;
        for (int i = 0; i < list.size(); i++) {
            Student stu=list.get(i);
            if (sid.equals(stu.getId())){
                index=i;
                break;
            }
        }
        if (index==-1){
            System.out.println("学生不存在。");
        }else{
            list.remove(index);
            System.out.println("删除成功。");
        }
    }



    //3.修改学生信息
    public static void UpdateStudent(ArrayList<Student> list){
        Scanner sc=new Scanner(System.in);
        System.out.println("输入修改学生的学号:");
        String sid=sc.next();
        int index=-1;
        for (int i = 0; i < list.size(); i++) {
            Student stu=list.get(i);
            if (sid.equals(stu.getId())){
                index=i;
                break;
            }
        }
        if (index==-1){
            System.out.println("学生不存在。");
        }else{
            Student stu=new Student();
            System.out.println("输入学生的姓名:");
            stu.setName(sc.next());
            System.out.println("输入学生的年龄:");
            stu.setAge(sc.nextInt());
            System.out.println("输入学生的地址:");
            stu.setAddress(sc.next());
            stu.setId(sid);
            list.set(index,stu);
            System.out.println("修改成功。");
        }
    }



    //4.查询学生信息
    public static void FindAllStudent(ArrayList<Student> list){
        if (list.size()==0){
            System.out.println("没有学生信息。");
        }else{
            System.out.println("学号:\t姓名:\t年龄:\t住址:");
            for (int i = 0; i < list.size(); i++) {
                Student stu=list.get(i);
                System.out.println(stu.getId() + "\t" + stu.getName() + "\t" +stu.getAge() + "\t" + stu.getAddress()+ "\t");
            }
        }
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值