学生管理系统(Map实现)

今天完成了学校布置的一个小任务:实现一个简易的学生管理系统,要用到这学期学到的一些corejava的知识,不用数据库,用map存储数据,可以注册学生和管理员用户,对已注册的用户进行验证,可以登录,注册和登录分为学生和管理员,学生只能查看个人信息,管理员可以实现对学生数据的增删改查,代码如下:

Student类:

package cn.zzu.baizhi;

public class Student {
	
	private String account;
	private String password;
	private int id;
	private String name;
	private int age;
	private int grade;
	private double score;
	public Student() {

	}

	public Student(int id, String name, int age) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
	}
	
	
	
	public String getAccount() {
		return account;
	}

	public void setAccount(String account) {
		this.account = account;
	}

	public String getPassword() {
		return password;
	}

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

	public int getGrade() {
		return grade;
	}

	public void setGrade(int grade) {
		this.grade = grade;
	}

	public double getScore() {
		return score;
	}

	public void setScore(double score) {
		this.score = score;
	}

	public int getId() {
		return id;
	}

	public void setId(int 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;
	}

}

Manager类:

package cn.zzu.baizhi;

public class Manager {
	private String account;
	private String password;
	private int id;
	private String name;
	
	
	public String getAccount() {
		return account;
	}
	public void setAccount(String account) {
		this.account = account;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	

}

登录和注册接口类:

package cn.zzu.baizhi;

public interface Account {
	public void regist();

	public void login();
}

管理员工具类:

package cn.zzu.baizhi;

public class ManagerTool implements Account{
	
	Manager ma;
	static database data=new database();

	@Override
	public void regist() {
		ma=new Manager();  
        System.out.println("请输入管理员编号");  
        int id = Util.in.nextInt();
        if(data.mmap.get(id) != null) {
        	System.out.println("此编号已注册");
        	Test.begin();
        }
        ma.setId(id);  
          
        System.out.println("请输入账号");  
        
        ma.setAccount(Util.in.next());  
        System.out.println("请输入密码");  
        ma.setPassword(Util.in.next());  
          
        System.out.println("请输入姓名");  
        ma.setName(Util.in.next());  
        data.mmap.put(ma.getId(),ma);
        System.out.println("注册成功"); 
        Test.begin();
	}

	@Override
	public void login() {
		System.out.println("请输入管理员编号"); 
		int id = Util.in.nextInt();
		System.out.println("请输入账号"); 
		String account = Util.in.next();
		System.out.println("请输入密码"); 
		String pass = Util.in.next();
		if(data.mmap.get(id) != null && data.mmap.get(id).getAccount().equals(account) && data.mmap.get(id).getPassword().equals(pass)) {
        	System.out.println("登录成功");
        } else {
        	System.out.println("登录信息错误,请重新登录");
        	Test.begin();
        }
		
	}

}

学生工具类:

package cn.zzu.baizhi;

public class StudentTool implements Account{
	
	Student st;

	@Override
	public void regist() {
		st=new Student();  
		
        System.out.println("请输入学号");  
        int id = Util.in.nextInt();
        if(Util.data.map.get(id) != null) {
        	System.out.println("此学号已注册");
        	Test.begin();
        }
        st.setId(id);  
        System.out.println("请输入账号");  
        
        st.setAccount(Util.in.next());  
        System.out.println("请输入密码");  
        st.setPassword(Util.in.next());  
          
        System.out.println("请输入姓名");  
        st.setName(Util.in.next());  
        System.out.println("请输入年龄");  
        st.setAge(Util.in.nextInt());  
        Util.data.map.put(st.getId(),st); 
        System.out.println(Util.data.map.get(id).toString());
        System.out.println("注册成功"); 
        Test.begin();
	}

	@Override
	public void login() {
		System.out.println("请输入学生编号"); 
		int id = Util.in.nextInt();
		System.out.println("请输入学生账号"); 
		String account = Util.in.next();
		System.out.println("请输入密码"); 
		String pass = Util.in.next();
		if(Util.data.map.get(id) != null && Util.data.map.get(id).getAccount().equals(account) && Util.data.map.get(id).getPassword().equals(pass)) {
        	System.out.println("登录成功");
        	System.out.println("个人信息");
        	System.out.println("学号"+id+"   姓名"+Util.data.map.get(id).getName()+"    年龄"+Util.data.map.get(id).getAge()+"    年级"+Util.data.map.get(id).getGrade()+"    分数"+Util.data.map.get(id).getScore());
        	Test.begin();
        } else {
        	System.out.println("登录信息错误,请重新登录");
        	Test.begin();
        }
		
	}

}

Map数据库类:

 
package cn.zzu.baizhi;
import java.util.HashMap;  
import java.util.Map;  
  
import java.util.Set; 
public class database  {  
    Student st;  
    static Map<Integer,Student> map;  
    static Map<Integer,Manager> mmap;  
    
  
    public  database(){  
        map=new HashMap<Integer,Student>();  
        mmap=new HashMap<Integer,Manager>();  
    }  
    public void insert() {  
        st=new Student();  
      
          
        System.out.println("请输入学号");  
           
        st.setId(Util.in.nextInt());  
          
        System.out.println("请输入姓名");  
        st.setName(Util.in.next());  
        System.out.println("请输入年龄");  
        st.setAge(Util.in.nextInt());  
        map.put(st.getId(),st);  
        System.out.println("成功插入一条数据");  
    }  
    public void selectAll() {  
        System.out.println("   学号               姓名               年龄");  
        System.out.println("===========================");  
        Set keys=map.keySet();  
        for(Object key:keys){  
            System.out.println("学号"+map.get(key).getId()+"   姓名"+map.get(key).getName()+"    年龄"+map.get(key).getAge()+"    年级"+map.get(key).getGrade()+"    分数"+map.get(key).getScore());  
        }  
    }  
    public void delete(){  
        System.out.println("输入要删除的学号");  
        int id=Util.in.nextInt();  
        if(map.get(id)==null){  
            System.out.println("没有此学生");  
        }else {  
            map.remove(id);  
            System.out.println("已删除");  
        }  
    }  
    public void updata(){  
        System.out.println("输入要修改的学号");  
        int id=Util.in.nextInt();  
        if(map.get(id)==null){  
            System.out.println("没有此学生");  
        }else {  
            System.out.println("输入要修改姓名");  
            st.setName(Util.in.next());  
            System.out.println("输入要修改的年龄");  
            st.setAge(Util.in.nextInt());  
        }  
    }  
    
    public void turnToBegin() {
    	Test.begin();
    }
      
}  

工具类:

package cn.zzu.baizhi;

import java.util.Scanner;  

public  class Util{  
    static Scanner in=new Scanner(System.in);  
    static database data=new database();  
    
    public static void show() {  
        while (1==1) {  
            System.out.println("---------------");  
            System.out.println("输入1插入学生信息");  
            System.out.println("---------------");  
            System.out.println("输入2查询所有学生信息");  
            System.out.println("---------------");  
            System.out.println("输入3删除学生信息");  
            System.out.println("---------------");  
            System.out.println("输入4修改学生信息"); 
            System.out.println("---------------");  
            System.out.println("输入5返回登录页面"); 
            System.out.println("---------------");  
            System.out.println("输入6退出"); 
            int i=in.nextInt();  
            switch (i) {  
            case 1:  
                data.insert();  
                  
                break;  
            case 2:  
                data.selectAll();  
                break;  
            case 3:  
                data.delete();  
                break;  
            case 4:  
                data.updata();  
                break;  
            case 5:
            	data.turnToBegin();
            case 6:
            	System.exit(0);
            default:  
                break;  
            }  
        }  
    }  
}  

测试类:

package cn.zzu.baizhi;

public class Test {  
	
	public static void begin() {
		StudentTool stool = new StudentTool();
    	ManagerTool mtool = new ManagerTool();
    	
    	
		System.out.println("1.注册  2.登录  3.退出");
		switch (Util.in.nextInt()) {
		case 1:
			System.out.println("1、学生注册       2、管理员注册     3、退出");
			int i = Util.in.nextInt();
			if(i == 1) {
				stool.regist();
			}
			if(i == 2) {
				mtool.regist();
			}
			if(i == 3) {
				System.exit(0);
			}
		case 2:
			System.out.println("1、学生登录       2、管理员登录      3、退出");
			int j = Util.in.nextInt();
			if(j == 1) {
				stool.login();
			}
			if(j == 2) {
				mtool.login();
				Util.show(); 
			}
			if(j == 3) {
				System.exit(0);
			}
		case 3:
			System.exit(0);
		}
    }  
    
    public static void main(String[] args) {  
    	System.out.println("欢迎来到学生信息管理系统");
    	begin();
    }
}  

猜你喜欢

转载自blog.csdn.net/zhinglouyilin/article/details/80698607
今日推荐