学生管理系统(包括登陆界面的账号,找回账号等)

首先创建student的标准javabean

package studentsystem;

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 void setId(String id){
        this.id=id;
    }

    public String getId(){return id;}

    public void setName(String name){
        this.name=name;
    }

    public String getName(){
        return name;
    }

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

    public int getAge(){
        return age;
    }

    public void setAddress(String address){
        this.address=address;
    }

    public String getAddress(){
        return address;
    }
}

然后对学生管理系统界面进行编写

菜单

ArrayList<student>  list =new ArrayList<student>();
        do{
            System.out.println("************  欢迎来到学生管理系统  ****************");
            System.out.println("***1.添加学生信息                 2.删除学生信息****");
            System.out.println("***3.修改学生信息                 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":
                    querystudent(list);
                    break;
                case "5":
                    System.out.println("退出");
                    System.exit(0);
                default:
                    System.out.println("没有该选项");
                    }
               }while (true);

对学生系统进行增删查改

public static void addstudent(ArrayList<student>  list){
        System.out.println("请输入要添加的人数");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        for(int i=0;i<num;i++) {
            student s= new student();
            String id= null;
            while (true) {
                System.out.println("请输入学生的id");
                id = sc.next();
                int index = getIndex(list,id);
                boolean flog = contains(index);
                if (flog) {
                    s.setId(id);
                    break;
                }else{
                    System.out.println("输入的id不唯一,请重新输入");
                }
            }
            System.out.println("请输入学生的name");
            String name = sc.next();
            s.setName(name);
            System.out.println("请输入学生的age");
            int age = sc.nextInt();
            s.setAge(age);
            System.out.println("请输入学生的address");
            String address = sc.next();
            s.setAddress(address);
            list.add(s);
        }
        System.out.println("学生信息添加成功");
    }

    public static void deletestudent(ArrayList<student>  list){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要删除学生的id");
        String id = sc.next();
        int index = getIndex(list,id);
        if(index >= 0){
            student stu = list.get(index);
            String name = stu.getName();
            list.remove(index);
            System.out.println("删除"+name+"学生成功");
        }
    }

    public static void  updatestudent(ArrayList<student>  list) {
        Scanner sc = new Scanner(System.in);
        if(list.size()==0){
            System.out.println("当前无学生信息,请添加后再查询");
        }else{
            int index;
            while (true) {
                System.out.println("请输入要修改学生的id");
                String id = sc.next();
                index = getIndex(list, id);
                if (index < 0) {
                    System.out.println("要修改学生的id" + id + "不存在");
                } else {
                    break;
                }
            }

            student s = list.get(index);

            System.out.println("请输入要修改学生的name");
            String newname = sc.next();
            s.setName(newname);
            System.out.println("请输入要修改学生的age");
            int newage = sc.nextInt();
            s.setAge(newage);
            System.out.println("请输入要修改学生的address");
            String newaddress = sc.next();
            s.setAddress(newaddress);

            System.out.println("学生的信息修改成功");
        }
    }

    public static void querystudent(ArrayList<student>  list){
        if(list.size()==0){
            System.out.println("当前无学生信息,请添加后再修改");
        }

        System.out.println("id\t\t姓名\t年龄\t家庭住址");
        for (int i = 0; i < list.size(); i++) {
             student stu = list.get(i);
            System.out.println(stu.getId()+"\t\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress()+"\t");

        }
    }

    public static Boolean contains(int index){
        if(index>0){
            return false;
        }else{
            return true;
        }
    }

    public static int getIndex(ArrayList<student>  list,String id){
        for (int i = 0; i < list.size(); i++) {
            student stu = list.get(i);
            if(stu.getId().equals(id)){
                return i;
            }
        }
        return -1;
    }



}

再创建标准的user的javabean类

package studentsystem;

public class user {
    private String name;
    private String password;
    private String idnumber;
    private String mobnumber;


    public user(String name, String password, String idnumber, String mobnumber) {
        this.name = name;
        this.password = password;
        this.idnumber = idnumber;
        this.mobnumber = mobnumber;
    }

    public user(){
    }

    public void setIdnumber(String idnumber){
        this.idnumber=idnumber;
    }

    public String getIdnumber(){return idnumber;}

    public String getName() {
        return name;
    }

    public String getPassword() {
        return password;
    }

    public String getMobnumber() {
        return mobnumber;
    }

    public void setName(String name) {
        this.name = name;
    }

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

    public void setMobnumber(String mobnumber) {
        this.mobnumber = mobnumber;
    }
}

登陆界面的菜单

ArrayList <user> list= new ArrayList<user>();
        do{
        System.out.println("************  欢迎来到学生管理系统  ****************");
        System.out.println("***   1.登陆      ***");
        System.out.println("***   2.注册      ***");
        System.out.println("***   3.忘记密码   ***");
        System.out.println("***   4.退出      ***");
        Scanner sc = new Scanner(System.in);
        String choose = sc.next();
        switch (choose){
            case "1":
                loginapp(list);
                break;
            case "2":
                registernapp(list);
                break;
            case "3":
                forgottenpassword(list);
                break;
            case "4":
                System.out.println("退出");
                System.exit(0);
                break;
            default:
                System.out.println("没有该选项");
        }
    }while (true);

对于登陆界面的实现

public static void loginapp(ArrayList <user> list){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入用户名");
        String name = sc.next();
        int inedex = getIndex(list,name);
        boolean flog = contains(inedex);
        if(flog){
            System.out.println("当前用户未注册");
        }else{
            System.out.println("该用户存在");
            System.out.println("请输入身份证号码");
            String idnumber = sc.next();
            System.out.println("请输入手机号码");
            String mobnumber = sc.next();
            boolean flag = checkinformation(list,inedex,idnumber,mobnumber);
            if(flag){
                System.out.println("请输入密码");
                String passward = sc.next();
                boolean ch = checkpassword(list,inedex,passward);
                if(ch){
                    System.out.println("登陆成功");
                    System.out.println("请输入验证码");
                    String code ;
                    code = generatecode();
                    System.out.println("验证码为"+code);
                    String recode = sc.next();
                    if(code.equalsIgnoreCase(recode)){
                        System.out.println("验证码输入正确");
                        studentSystem ss =new studentSystem();
                        ss.studentsystem();
                    }else{
                        System.out.println("验证码输入错误");
                    }
                }else{
                    System.out.println("密码错误");}
            }else{
                System.out.println("你输入的身份证或手机号有问题");}
        }
    }

    public static void registernapp(ArrayList <user> list){
        Scanner sc = new Scanner(System.in);
        user use=new user();
        String name = null;
        while(true){
            System.out.println("请输入要注册的name");
            name = sc.next();
            int index = getIndex(list,name);
            boolean flog = contains(index);
            if(flog){
                boolean flag = checkUsername(name);
                if(flag){
                    use.setName(name);
                    break;}
            }else{
                System.out.println("你的用户名已被用请重新输入");
            }
        }

        while(true) {
            System.out.println("请输入你的密码");
            String password1 = sc.next();
            System.out.println("请确认的你的密码");
            String password2 = sc.next();
            boolean b = comparePasswords(password1, password2);
            if (b) {
                use.setPassword(password1);
                break;}
        }

        while (true) {
            System.out.println("请输入你的身份证号码");
            String idnumber = sc.next();
            boolean c = checkidnumber(idnumber);
            if(c){
                use.setIdnumber(idnumber);
                break;}
        }

        while (true) {
            System.out.println("请输入你的手机号码");
            String mobnumber = sc.next();
            boolean d= checkmobnumber(mobnumber);
            if(d){
                use.setMobnumber(mobnumber);
                break;}
        }
        list.add(use);
    }


    public static void forgottenpassword(ArrayList <user> list){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入用户名");
        String name = sc.next();
        int inedex = getIndex(list,name);
        boolean flog = contains(inedex);
        if(flog){
            System.out.println("当前用户未注册");
        }else{
            System.out.println("请输入身份证号码");
            String idnumber = sc.next();
            System.out.println("请输入手机号码");
            String mobnumber = sc.next();
            boolean flag = checkinformation(list,inedex,idnumber,mobnumber);
            if(flag){
                System.out.println("请输入修改后的密码");
                user use = list.get(inedex);
                String  newpassward = sc.next();
                use.setPassword(newpassward);
                System.out.println("修改成功");
            }else{
                System.out.println("身份信息不匹配修改失败");
            }
        }
    }

    public static  Boolean contains(int index){
        if(index>=0){
            return false;
        }else{
            return true;
        }
    }


    public static int getIndex(ArrayList <user> list,String name){
        for (int i = 0; i < list.size(); i++) {
            user use=list.get(i);
            if(use.getName().equals(name)){
                return i;
            }
        }
        return -1;

    }

    public static boolean checkUsername(String name){
        int num=name.length();
        if(num<3||num>15){
            System.out.println("输入的用户名在3~15位之间");
            return false;
        }

        for (int i = 0; i < num; i++) {
            char a = name.charAt(i);
            if(!((a>='a'&& a<='z')||(a>='A'&&a<='Z')||(a>='0'&&a<='9'))){
                System.out.println("输入的用户名请用字符或数字组成");
                return false;
            }
        }

        int count = 0;
        for (int i = 0; i < num; i++) {
            char a = name.charAt(i);
            if((a>='a'&&a<='z')||(a>='A'&&a<='Z')){
                count++;
                break;
            }
        }
        if(count==0){
        System.out.println("用户名不能全为数字组成");}
        return count>0;
    }

    public static Boolean comparePasswords(String password1,String password2){
        int num1 = password1.length();
        int num2 = password2.length();
        if(num1 != num2){
            return false;
        }
        for (int i = 0; i < num1; i++) {
            if(password1.charAt(i) != password2.charAt(i)){
                return false;
            }
        }
        return true;
    }

    public  static Boolean checkidnumber(String idnumber){
        int num = idnumber.length();
        if(num != 18){
            System.out.println("输入的身份证为18位");
             return false;
        }

        char a = idnumber.charAt(0);
        if(a == '0'){
            System.out.println("首字母不能为0");
            return false;
        }

        for (int i = 0; i < num-1; i++) {
            char c =idnumber.charAt(i);
            if(!(c >='0'&&c<='9')){
                System.out.println("前17位只能为数字");
                return false;
            }
        }

        char b =idnumber.charAt(num-1);
        if(!(b=='z'||b=='Z'||b>='0'||b<='9')){
            System.out.println("身份证的最后一位只能为数字或X或x");
            return false;
        }

        return true;

    }


    public static Boolean checkmobnumber(String mobnumber){
        int num = mobnumber.length();
        if(num != 11){
            System.out.println("输入的手机号为11位");
            return false;
        }

        char a = mobnumber.charAt(0);
        if(a == '0'){
            System.out.println("首位不能为0");
            return false;
        }

        for (int i = 0; i < num-1; i++) {
            char c =mobnumber.charAt(i);
            if(!(c >='0'&&c<='9')){
                System.out.println("前17位只能为数字");
                return false;
            }
        }

        return true;

    }

    public static boolean checkinformation(ArrayList <user> list,int inedex, String idnumber,String mobnumber){
        user use = list.get(inedex);
        String trueidnumber = idnumber;
        String truemobnumber = mobnumber;
        if((idnumber == trueidnumber) &&(truemobnumber == mobnumber)){
            return true;
        }

        return false;
    }

    public static boolean checkpassword(ArrayList <user> list,int inedex,String password){
        user use = list.get(inedex);
        String truepassword = password;
        if(password == truepassword){
            return true;
        }

        return false;
    }

    public static String generatecode(){
        Random r = new Random();
        char[] s = new char[5];
        char[] table = new char[52];
        for(int i =0;i<26;i++){
            table[i]= (char) ('a'+i);
            table[i+26]= (char) ('A'+i);
        }

        for(int i=0;i<4;i++){
            int inedex = r.nextInt(52);
            s[i]=table[inedex];
        }
        int number = r.nextInt(10)+48;
        s[4]= (char) number;

        for(int i=0;i<5;i++){
            int raninedex = r.nextInt(s.length);
            char tmp;
            tmp = s[raninedex];
            s[raninedex]=s[4-raninedex];
            s[4-raninedex]=tmp;
        }

        return new String(s);
    }


}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值