学生管理系统

看视频看到的,然后就自己手打了,完全自己手打,自己打的感觉非常的繁琐,也是希望再学习一段时间,在后面升级一下这个第一个完整的纯个人手打的系统吧。

回归正题,学生管理系统分为:1.登录界面  2.操作界面

登录界面包括:登录,注册,忘记密码 

操作界面包括:添加学生,删除学生,修改学生,查询学生

首先对于这个学生管理系统来说,我们可以先看做两个大的模块:1.登录界面 2.操作界面

登录界面:1.登录功能 2.注册 3.忘记密码

操作界面: 1.添加学生 2.删除学生 3.修改学生 4.查询学生

 (这些看起来有些多余,毕竟太明显了)

关于此系统我们要明确——涉及到的对象有哪些:

学生管理系统,学生对象得有吧,使用系统的用户对象得有吧(当然肯定还有其他的一些对象,由于加上那些太过复杂,咱们就不去涉及了)

用户对象的基本信息(属性)如下:

package Student_Management_System;

public class User {
	
	private String username;
	private String password;
	private String IdentifyNumber;
	private String PhoneNumber;
	
	public User() {};
	public User(String username,String password,String IdentifyNumber,String PhoneNumber) {
		this.username=username;
		this.password=password;
		this.IdentifyNumber=IdentifyNumber;
		this.PhoneNumber=PhoneNumber;
	}
	
	public void setusername(String username) {
		this.username=username;
	}
	public void setpassword(String password) {
		this.password=password;
	}
	public void setIdentifyNumber(String IdentifyNumber) {
		this.IdentifyNumber=IdentifyNumber;
	}
	public void setPhoneNumber(String PhoneNumber) {
		this.PhoneNumber=PhoneNumber;
		}
	public String getusername() {
		return username;
	}
	public String getpassword() {
		return password;
	}
	public String getIdentifyNumber() {
		return IdentifyNumber;
	}
	public String getPhoneNumber() {
		return PhoneNumber;
	}

}

学生对象的基本信息(属性)如下:

package Student_Management_System;

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 void setname(String name) {
		this.name=name;
	}
	public void setage(int age) {
		this.age=age;
	}
	public void setaddress(String address) {
		this.address=address;
	}
	public String getid() {
		return id;
	}
	public String getname() {
		return name;
	}
	public int getage() {
		return age;
	}
	public String getaddress() {
		return address;
	}
	
}

对象类完成了,接下来就要开始真正的操作技术了!

首先,我们要考虑好,我们这个系统要以什么样的形式去实现,我比较笨,我就一股脑地全塞在一个里面了(另一个原因是:写这么多行代码,这不是很酷吗?)

首先,我考虑的是main方法当中我如何去实现(根据我个人的观点),当然是越简单越好了,因此我使用的是调用方法的方式。

"LoginInterface(user_t,stu_t);"我只使用了这一个方法来实现我整个学生管理系统的所有功能,看起来是不是很NB啊!(其中user_t是用户对象的表,stu_t是学生对象的表)。当然可以连接数据库来获得,但是我没有,我直接在main方法当中添加了相关的数据。

其次,明确完成模块的顺序,并且粗略明确如何来实现这些模块的功能,做一个难易程度的粗略判断,然后来进行代码的实现。(直接总结:操作界面要比登录界面要简单}

这就有人问了,为什么啊?4个功能怎么可能比三个功能的要简单呢?

首先我们要明确:添加(数据储存),删除(数据移除)修改(数据修改) 查看(数据读取) 

登录(数据匹配) 注册(数据规格,数据储存) 忘记密码(数据查询,修改规则,数据修改)

现在一看,是不是操作界面的功能更简单了呢?(我要吐槽一点,注册的数据规格要求太麻烦,注册这一功能模块,是我这好几个模块当中投入时间最多的)

在代码实现之前,要首先建好一个test类来进行测试,做一个测试一个,不要一股脑写下去,导致最后的时候到处都是问题。(当然你厉害,当我没说过)(别问我为啥要插一句,因为有个男人也是这样做过来的-------此刻一位猛男眼角泛起了小珍珠)

操作界面代码实现如下:


	//---------------------------------------系统操作-----------------------------------//
	//添加学生方法;------------------------------1
    //id唯一
    public static void AddStudent(ArrayList<Student> stu_t) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入添加学生的id:");
        String id=sc.next();
        //id查重
        boolean result=IdCheck(stu_t,id);
        if(result) {
            Student s=new Student();
            s.setid(id);
            System.out.println("请输入添加学生的姓名:");
            String name=sc.next();
            s.setname(name);
            System.out.println("请输入添加学生的年龄:");
            int age=sc.nextInt();
            s.setage(age);
            System.out.println("请输入添加学生的住址:");
            String address=sc.next();
            s.setaddress(address);
            stu_t.add(s);
            System.out.println("添加完成!");
            //是否继续添
            System.out.println("是否继续添加?");
            System.out.println("继续添加请输入1,结束请输入2:");
            int a=sc.nextInt();
            if(a==1) {
                AddStudent(stu_t);
            }else if(a==2) {
                InitialMenu(stu_t);
            }else {
                System.out.println("输入错误,默认返回初始菜单:");
                InitialMenu(stu_t);
            }
        }else {
            System.out.println("id已存在,请重新输入一个新的id:");
            AddStudent(stu_t);
        }
    }


    //删除学生方法:----------------------------2
    //id存在删除  不存在,需要提示不存在 并 返回初始菜单
    public static void RemoveStudent(ArrayList<Student> stu_t) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要删除学生的id:");
        String id =sc.next();
        //id确认
        boolean result=IdCheck(stu_t,id);
        if(!result) {
            Student rs=new Student();
            for(int i=0;i<stu_t.size();i++) {
                Student s=stu_t.get(i);
                if(s.getid().equals(id)) {
                    stu_t.get(i).setid(rs.getid());
                    stu_t.get(i).setname(rs.getname());
                    stu_t.get(i).setage(rs.getage());
                    stu_t.get(i).setaddress(rs.getaddress());
                    System.out.println("删除完成!");
                    //是否继续删除
                    System.out.println("是否继续删除?");
                    System.out.println("继续删除请输入1,结束请输入2:");
                    int a=sc.nextInt();
                    if(a==1) {
                        RemoveStudent(stu_t);
                    }else if(a==2) {
                        InitialMenu(stu_t);
                    }else {
                        System.out.println("输入错误,默认返回初始菜单:");
                        InitialMenu(stu_t);
                    }
                }
            }
        }
        else {
            System.out.println("学生id不存在,自动返回初始菜单。");
            InitialMenu(stu_t);
        }
    }


    //修改学生方法:--------------------------3
    //id存在,继续录入其他信息   不存在,需要提示不存在,并返回初始菜单
    public static void TransformStudent(ArrayList<Student> stu_t) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要修改学生的id:");
        String id =sc.next();
        //id确认
        boolean result=IdCheck(stu_t,id);
        if(result==false) {
            for(int i=0;i<stu_t.size();i++) {
                Student s=stu_t.get(i);
                if(s.getid().equals(id)) {
                    System.out.println("温馨提示:需要修改的请输入要修改的信息,不需要修改的请输入原本的信息。");
                    System.out.println("请输入修改后的id:");
                    String newid=sc.next();
                    boolean result2=IdCheck(stu_t,newid);
                    if(result2) {
                    stu_t.get(i).setid(newid);
                    System.out.println("请输入修改后的姓名:");
                    String newname=sc.next();
                    stu_t.get(i).setname(newname);
                    System.out.println("请输入修改后的年龄:");
                    int newage=sc.nextInt();
                    stu_t.get(i).setage(newage);
                    System.out.println("请输入修改后的住址:");
                    String newaddress=sc.next();
                    stu_t.get(i).setaddress(newaddress);
                    System.out.println("修改完成!");
                    //是否继续修改
                    System.out.println("是否继续修改?");
                    System.out.println("继续修改请输入1,结束请输入2:");
                    int a=sc.nextInt();
                    if(a==1) {
                        TransformStudent(stu_t);
                    }else if(a==2) {
                        InitialMenu(stu_t);
                    }else {
                        System.out.println("输入错误,默认返回初始菜单:");
                        InitialMenu(stu_t);
                    }
                }else {
                	System.out.println("要修改的id已存在,请重新输入!");
                	TransformStudent(stu_t);
                }
                }
            }
        }else {
            System.out.println("学生id不存在,请重新输入:");
            InitialMenu(stu_t);
        }
    }


    //查询学生方法:------------------------4
    //如果没有学生信息,提示:无该学生信息,请添加后再查询!           如果有学生信息,需要按照类似表格方式输出
    public static void SearchStudent(ArrayList<Student> stu_t) {
        Scanner sc=new Scanner(System.in);
        System.out.println("查询所有学生信息请输入:1");
        System.out.println("查询单个学生信息请输入:2");
        int abc=sc.nextInt();
        if(abc==1) {
        	System.out.println("id"+"\t"+"姓名"+"\t"+"年龄"+"\t"+"住址");
        	for(int i=0;i<stu_t.size();i++) {
        		Student sb=stu_t.get(i);
        		System.out.println(sb.getid()+"\t"+sb.getname()+"\t"+sb.getage()+"\t"+sb.getaddress());
        	}
        	System.out.println();
            System.out.println("是否继续查询?");
            System.out.println("继续查询请输入1,结束请输入2:");
            int a=sc.nextInt();
            if(a==1) {
                SearchStudent(stu_t);
            }else if(a==2) {
                InitialMenu(stu_t);
            }else {
                System.out.println("输入错误,默认返回初始菜单:");
                InitialMenu(stu_t);
            }
        }else if(abc==2) {
        System.out.println("请输入要查询学生的id:");
        String id =sc.next();
        //id确认
        boolean result=IdCheck(stu_t,id);
        if(result==true) {
            System.out.println("无该学生信息,请添加后再查询!");
            System.out.println("添加学生请输入:1");
            System.out.println("返回菜单请输入:2");
            int a=sc.nextInt();
            if(a==1) {
                AddStudent(stu_t);
            }else if(a==2) {
                InitialMenu(stu_t);
            }
            else  {
                System.out.println("输入错误,默认返回初始菜单");
                InitialMenu(stu_t);
            }
        }else  {
            for(int i=0;i<stu_t.size();i++) {
                Student s=stu_t.get(i);
                if(s.getid().equals(id)) { //  "\t" 自动补齐到8为字节
                    System.out.println("id"+"\t"+"姓名"+"\t"+"年龄"+"\t"+"住址");
                    System.out.println(s.getid()+"\t"+s.getname()+"\t"+s.getage()+"\t"+s.getaddress());
                    System.out.println();
                    System.out.println("是否继续查询?");
                    System.out.println("继续查询请输入1,结束请输入2:");
                    int a=sc.nextInt();
                    if(a==1) {
                        SearchStudent(stu_t);
                    }else if(a==2) {
                        InitialMenu(stu_t);
                    }else {
                        System.out.println("输入错误,默认返回初始菜单:");
                        InitialMenu(stu_t);
                    }
                }
            }
        }
        }

    }

    
    // 初始菜单-----------------------------
    public static void InitialMenu(ArrayList<Student> stu_t) {
        Scanner sc=new Scanner(System.in);
        System.out.println("”--------------欢迎来到NB学校的学生管理系统--------------“");
        System.out.println("”1:添加学生“");
        System.out.println("”2:删除学生“");
        System.out.println("”3:修改学生“");
        System.out.println("”4:查询学生“");
        System.out.println("”5:退出系统“");
        System.out.println("”请输入您的选择:“");
        int number=sc.nextInt();
        switch(number) {
            case 1:
                //添加学生
                AddStudent(stu_t);
                break;
            case 2:
                //删除学生
                RemoveStudent(stu_t);
                break;
            case 3:
                //修改学生
                TransformStudent(stu_t);
                break;
            case 4:
                //查询学生
                SearchStudent(stu_t);
                break;
            case 5:
                System.out.println("退出系统!");
                System.exit(0); //关闭虚拟机-----结束程序运行
            default :
                System.out.println("输入错误,请重新输入:");
                System.out.println();
                InitialMenu(stu_t);
                break;
        }
    }
    
    
    //id查重-------------------------
    public static boolean IdCheck(ArrayList<Student> stu_t,String id) {
        boolean result=true;//不存在为 true
        for(int i=0;i<stu_t.size();i++) {
            Student s=stu_t.get(i);
            if(s.getid().equals(id)) {
                result=false;// 存在为 false
            }
        }
        return result;
    }

登录界面代码实现如下:

//----------------------------------------------登录系统:------------------------------//
    public static void LoginInterface(ArrayList<User> user_t,ArrayList<Student> stu_t) {
  		System.out.println("欢迎来到NB学校学生管理系统");
  		System.out.println("请选择操作:1-登录 2-注册 3-忘记密码");
  		Scanner sc=new Scanner(System.in);
  		int a=sc.nextInt();
  		switch(a) {
  		case 1:
  		//登录
  			Login(user_t,stu_t);
  			break;
  		case 2:
  		//注册
  			Enroll(user_t,stu_t);
  			break;
  		case 3:
  		//忘记密码
  			ForgetPassword(user_t,stu_t);
  			break;
  			
  		default :
  				System.out.println("输入错误,请重新输入:");
  				LoginInterface(user_t,stu_t);
  				break;
  		}
    }
    
    
    //登录----------------------------
    public static void Login(ArrayList<User> user_t,ArrayList<Student> stu_t) {
    	Scanner sc=new Scanner(System.in);
    	System.out.println("请输用户名:");
    	String username=sc.next();
    	System.out.println("请输入密码:");
    	String password=sc.next();
    	//收取验证码:
    	String VC=VerificationCode();
    	System.out.println(VC);
    	System.out.println("请输入验证码");
    	String vc=sc.next();
    	boolean result=UserNameCheck(user_t,username);
    	if(result) {//确认
    		int count=0;//记录登录次数
    		
    		while(count!=3) { 			
    		//验证码判断
    		if(VC.equals(vc)) {
    			//用户,密码判断
    			int aaa=UserName(user_t,username);
    			if(user_t.get(aaa).getusername().equals(username)&&user_t.get(aaa).getpassword().equals(password)) {
    				System.out.println("登录成功!");
    				InitialMenu(stu_t);
    			}
    		else {
    			System.out.println("用户名或密码错误,请重新输入:");
   	    	    
    			System.out.println("还有"+(3-count)+"次机会!");
    			count++;
    			System.out.println("请输用户名:");
    	    	 username=sc.next();
    	    	System.out.println("请输入密码:");
    	    	 password=sc.next();
    		}
    		}
    		else {
    			
    			System.out.println("验证码错误,请重新输入:");
    			System.out.println("还有"+(3-count)+"次机会!");
    			vc=sc.next();
    			count++;
    		}
    	}
    	}
    	else {
    		System.out.println("未注册");
    		System.out.println("自动返回登录页面");
    	    LoginInterface(user_t,stu_t);
    	}
    	System.out.println("账号已被锁定,30min后尝试!");
    	System.exit(0);
    }
    
    //登录---验证码
    public static String VerificationCode() {
    	StringBuilder number=new StringBuilder();
    	Random r=new Random();
    	int a=r.nextInt(5);//获得数字位置
    	char[] word=new char[52];//字母a-z A-Z 
    	for(int i=0;i<word.length/2;i++) {
    		word[i]=(char) (97+i);//(强转数据类型) (数值)
    	}
    	for(int i=word.length/2,j=0;i<word.length;i++,j++) {
    		word[i]=(char) (65+j);//(强转数据类型) (数值)
    	}
    	char[] number2=new char[10];// 数字0-9
    	for(int i=0;i<number2.length;i++) {
    		number2[i]=(char) (48+i);
    	}
    	for(int i=0;i<5;i++) {
    		int b=r.nextInt(52);
    		//添加数字
    		if(i==a) {
    			int c=r.nextInt(10);
    			number.append(number2[c]);
    		}//添加字母
    		else {
    			number.append(word[b]);
    		}
    	}
    	//转为 String类
    	String newnumber=number.toString();
    	return newnumber;
    }
    
    //注册------------------------------
    public static void Enroll(ArrayList<User> user_t,ArrayList<Student> stu_t) {
    	//创建一个新对象,便于添加
    	User newuser=new User();
    	//注册用户名
    	String username=UserNameRules(user_t);
    	newuser.setusername(username);
    	//注册密码
    	String password=PsswordRules(user_t);
    	newuser.setpassword(password);
    	//身份证号码
    	String IN=IdentifyNumber(user_t);
    	newuser.setIdentifyNumber(IN);
    	//手机号
    	String PN=Phone(user_t);
    	newuser.setPhoneNumber(PN);
    	
    	//注册成功
    	user_t.add(newuser);
    	System.out.println("注册成功!");
    	System.out.println("自动返回登录界面");
    	LoginInterface(user_t,stu_t);
    }
    //-----用户名规则
    public static String UserNameRules(ArrayList<User> user_t) {
    	Scanner sc=new Scanner(System.in);
    	System.out.println("请输入要注册用户名:");
    	String username=sc.next();
    	while(true) {
    		//长度判断
    		if(username.length()>=3&&username.length()<=15) {   		
    	         //组成判断
    			boolean result1=UserNameCompose(username);
    			if(result1) {
    				//唯一性判断
    		    	boolean result=UserNameCheck(user_t,username);
    		    	if(result) {
    		    		System.out.println("用户名已存在,请重新输入:");
    		    		System.out.println();
    		    		UserNameRules(user_t);
    		    	}else {
    		    		break;
    		    	}
    			}else {
    				System.out.println();
    	    		UserNameRules(user_t);
    			}
    		}
    		else {
    			System.out.println("用户名长度不合法,请重新输入:");
    			System.out.println();
    			UserNameRules(user_t);
    		}
    	}
    	return username;
    }
    //用户名规则--用户名组成判断
    public static boolean UserNameCompose(String username) {
    	boolean result=false;
    	char[] word=new char[62];//字母a-z A-Z 0-9
    	for(int i=0;i<26;i++) {
    		word[i]=(char) (97+i);//a-z
    	}
    	for(int i=26,j=0;i<52;i++,j++) {
    		word[i]=(char) (65+j);//A-Z
    	}
    	for(int i=52,j=0;i<word.length;i++,j++) {
    		word[i]=(char)(48+j); //0-9
    	}
    	
    	char[] number=new char[10];//单独0-9
    	for(int i=0;i<number.length;i++) {
    		number[i]=(char)(48+i); //0-9
    	}
    	//是否为英文字母或数字
    	boolean result1=ComposeRules(word,username);
    	//是否存在至少一个数字
    	boolean result2=ComposeRules2(number,username);
    	if(result1&&result2) {
    		result=true;
    	}else {
    		System.out.println("用户名输入不合法,请重新输入:");
    		result=false;
    	}
    	return result;
    }
    //组成规则----判定规则---字母数字组成
    public static boolean ComposeRules(char[] c,String username) {
    	boolean result=true;
    	boolean result2=true;
    	for(int j=0;j<username.length();j++) {
    		int i=0;
    		char number=username.charAt(j);//获取username当中的每个元素 //c b
    	while(i<c.length) {
   
    		if(c[i]==number) {//找到一样的返回false
    			result2 =false;
    			break;                          
    		}
    		i++;                          
    	}
    	if(result2) {
    		result=false;
    		break;
    	}
    	else {
    		continue;
    	}
    	}
    	if(result2) {
    		
    	}
    	else {
    		result=true;
    	}
    	return result;
    }
    //组成规则----判定规则---至少存在一个数字
    public static boolean ComposeRules2(char[] c,String username) {
    	boolean result=false;
    	for(int i=0;i<username.length();i++) {
    		char a=username.charAt(i);  		
    		int j=0;
    		while(j<c.length) {
    			if(c[j]==a){//找到一个就结束循环,输出返回值
    				result=true;
    				break;
    			}
    			j++;
    		}if(result) {
    			break;
    		}
    	}    	
    	return result;
    }
    
    
    //------密码规则
    public static String PsswordRules(ArrayList<User> user_t) {
    	Scanner sc=new Scanner(System.in);
    	System.out.println("请输入密码:");
    	String password=sc.next();
    	System.out.println("请再输入一次密码:");
    	String newpassword=sc.next();
    	if(password.equals(newpassword)) {
    		
    	}else {
    		System.out.println("两次密码输入不一致,请重新输入:");
    		System.out.println();
    		PsswordRules(user_t);
    	}
    	
    	return newpassword;
    }
    
    
    //------身份证号规则
    public static String IdentifyNumber(ArrayList<User> user_t) {
    	Scanner sc=new Scanner(System.in);
    	System.out.println("请输入身份账号:");
    	String IN=sc.next();
    	//长度 
    	boolean result1=I_length(IN);
    	//不以0开头
    	boolean result2=I_zero(IN);
    	//组成
    	boolean result3=I_compose(IN);
    	if(result1&&result2&&result3) {
    	} else {
    		System.out.println("身份证号信息不正确,请重新输入:");
    		System.out.println();
    		IdentifyNumber(user_t);
    	}
    	return IN;
    }
    //身份证--长度判断
    public static boolean I_length(String IN) {
    	boolean result=false;
    	if(IN.length()==18) {
    		result=true;
    	}
    	return result;
    }
    //身份证---0开头
    public static boolean I_zero(String IN) {
    	boolean result=true;
    	char c='0';
    	if(IN.charAt(0)==c) {
    		result=false;
    	}
    	return result;
    }
    
    //身份证--组成
    public static boolean I_compose(String IN) {
       boolean result=true;
       boolean result2=false;
       char[] number={'0','1','2','3','4','5','6','7','8','9'};
       char[] lastnumber={'0','1','2','3','4','5','6','7','8','9','x','X'};
       for(int i=0;i<IN.length()-1;i++) {
    	   char c=IN.charAt(i); //身份证号第i个元素
    	   int j=0;
    	   while(j<number.length) {
    		   if(c==number[j]) {//
    			   result2=true;
    			   break;
    		   }
    		   j++;
    	   }
    	   if(result2) {
    		   result2=false;
    		   continue;
    	   }else {
    		   result=false;
    		   break;
    	   }
       }
       char a=IN.charAt(IN.length()-1);
       int i=0;
       while(i<lastnumber.length) {
    	   if(a==lastnumber[i]) {
    		   break;
    	   }
    	   i++;
    	   if(i==lastnumber.length) {
    		   result=false;
    	   }
       }
       
       return result;
    }
    
    
    //-------手机号规则
    public static String Phone(ArrayList<User> user_t) {
    	Scanner sc=new Scanner(System.in);
    	System.out.println("请输入手机号:");
    	String PN=sc.next();
    	//长度
    	boolean result1=P_length(PN);
    	//0开头
    	boolean result2=P_zero(PN);
    	//组成
    	boolean result3=P_compose(PN);
    	
    	if(result1&&result2&&result3) {
    		
    	}else {
    		System.out.println("手机号输入不合法,请重新输入:");
    		System.out.println();
    		Phone(user_t);
    	}
    	return PN;
    }
    //手机号--长度
    public static boolean P_length(String IN) {
    	boolean result=false;
    	if(IN.length()==11) {
    		result=true;
    	}   	
    	return result;
    }
    //手机号---0开头
    public static boolean P_zero(String IN) {
    	boolean result=true;
    	char c='0';
    	if(IN.charAt(0)==c) {
    		result=false;
    	}
    	return result;
    }
  //手机号--组成
    public static boolean P_compose(String IN) {
       boolean result=true;
       boolean result2=false;
       char[] number={'0','1','2','3','4','5','6','7','8','9'};
       for(int i=0;i<IN.length();i++) {
    	   char c=IN.charAt(i);
    	   int j=0;
    	   while(j<number.length) {
    		   if(c==number[j]) {
    			   result2=true;
    			   break;
    		   }
    		   j++;
    		  if(j==number.length) {
    			  result=false;
    		  }
    	   }
    	   if(result2) {
    		   result2=false;
    		   continue;
    	   }else {
    		   result=false;
    		   break;
    	   }
       }              
       return result;
    }

    
    
    //忘记密码---------------------------
    public static void ForgetPassword(ArrayList<User> user_t,ArrayList<Student> stu_t) {
    	Scanner sc=new Scanner(System.in);
    	System.out.println("请输用户名:");
    	String username=sc.next();
    	boolean result=UserNameCheck(user_t,username);
    	if(result) {
    		int a=UserName(user_t,username);
    		User u=user_t.get(a);
    		System.out.println("需要确认信息后才可进行更改");
    		System.out.println();
    		System.out.println("请输入身份证号码:");
    		String in=sc.next();
    		System.out.println("请输入手机号:");
    		String pn=sc.next();
    		if(u.getIdentifyNumber().equals(in)&&u.getPhoneNumber().equals(pn)) {//身份确认成功
    			System.out.println("请输入新密码:");
    			String newpassword=sc.next();
    			u.setpassword(newpassword);
    			System.out.println("修改成功");
    			System.out.println();
    			System.out.println("自动返回登录页面");
        	    LoginInterface(user_t,stu_t);
    		}//身份确认失败
    		else {
    			System.out.println("账号信息不匹配,修改失败!");
    			System.out.println("自动返回登录页面");
        	    LoginInterface(user_t,stu_t);
    		}
    	}
    	else {
    		System.out.println("未注册!");
    		System.out.println("自动返回登录页面");
    	    LoginInterface(user_t,stu_t);
    	}
    }
    
    
    
    //用户名是否存在
    public static boolean UserNameCheck(ArrayList<User> user_t,String username) {
    	boolean result=false; //无重复----false
    	for(int i=0;i<user_t.size();i++) {
    		User u=user_t.get(i);
    		if(u.getusername().equals(username)){
    			result=true; //重复----true
    		}
    	}
    	return result;
    }
    //获取username 具体位置
    public static int UserName(ArrayList<User> user_t,String username) {
    	int result=0; 
    	for(int i=0;i<user_t.size();i++) {
    		User u=user_t.get(i);
    		if(u.getusername().equals(username)){
    			 result=i;
    		}
    	}
    	return result;
    }

剩下的main方法部分,我个人感觉是没有必要搬上来的,但发都发了,别的都上了,那我也就雨露均沾吧。

package Student_Management_System;
import java.util.*;
public class StudentSystem {
	public static void main(String[] args) {
		
		
		//======================================用户初始信息载入======================================//
		//创建集合
		ArrayList<User> user_t=new ArrayList<>();
		
		//创建初始对象:
		User u1=new User("Liu666","123456","370704666666666666","16666666666");
		User u2=new User("Zhao888","12345678","371721888888888888","17888888888");
		
		//将对象录入集合
		user_t.add(u1);
		user_t.add(u2);
		
		
		//======================================学生初始信息载入======================================//
		//创建集合
		ArrayList<Student> stu_t=new ArrayList<>();
		
		
		// 创建初始对象
		Student stu1=new Student("nb001","王博",24,"山东省济南市历下区");
		Student stu2=new Student("nb002","王二牛",20,"山东省菏泽市牡丹区");
		Student stu3=new Student("nb003","李威",22,"山东省聊城市单县");
		Student stu4=new Student("nb004","刘不凡",21,"山东省青岛市黄岛区");
		Student stu5=new Student("nb005","张丰年",23,"山东省日照市五莲县");
		Student stu6=new Student("nb006","神秘人",18,"**省**市**区");
		
		
		//将对象录入集合
		stu_t.add(stu1);
		stu_t.add(stu2);
		stu_t.add(stu3);
		stu_t.add(stu4);
		stu_t.add(stu5);
		stu_t.add(stu6);
		
		//======================================NB学校学生管理系统======================================//
		
		
		LoginInterface(user_t,stu_t);
		
		
	}
	

身份证号,手机号都是瞎编的,如有雷同,立马删除,影响到他人,我表示抱歉。

以上就是我用3天时间写出来的学生管理系统了,感谢阅读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值