美文网首页java
java项目:学生管理系统

java项目:学生管理系统

作者: wswenyue | 来源:发表于2014-10-08 19:19 被阅读3940次

    学生管理系统


    学生管理系统作用就是对于学生信息的处理、存储。
    处理就包括:添加、删除、修改、显示、查找等
    存储一般调用数据库存储;在这里我们只是作为演示,所以就使用Java 中“HashMap”来模拟。


    具体分析之后,我们规划出包及分类,在Eclipse里建立如下结构


    思考、划分、优化、布局
    • 首先就应该是学生(Student)主类的构建

    建立Student.java

    package net.jsjxy.entity;
    
    public class Student {
        private String xm;
        private String banji;
        private String xh;
        
        public Student(String xm,String banji,String xh){
            this.xm=xm;
            this.banji=banji;
            this.xh=xh;
        }
        public String getXm() {
            return xm;
        }
        public void setXm(String xm) {
            this.xm = xm;
        }
        public String getBanji() {
            return banji;
        }
        public void setBanji(String banji) {
            this.banji = banji;
        }
        public String getXh() {
            return xh;
        }
        public void setXh(String xh) {
            this.xh = xh;
        }
        @Override
        public String toString() {
            // TODO Auto-generated method stub
            return this.xm+"\t"+this.xh+"\t"+this.banji;
        }
        
    }
    

    • 由于只是简单的演示这里就不涉及数据库了,我们用HashMap来模拟数据库存储数据

    建立Database.java

    package net.jsjxy.db;
    
    import java.util.HashMap;
    
    import net.jsjxy.entity.Student;
    
    public class Database {
    
        public HashMap<String, Student> map;
        
        public void initDB(){
            map=new HashMap<String, Student>();
            Student s1=new Student("张三", "一班", "12345");
            Student s2=new Student("李四", "二班", "67890");
            map.put(s1.getXh(), s1);
            map.put(s2.getXh(), s2);
        }
    }
    
    

    • 存储和学生主类写好了,那么下一步就该写操作了

    我们建立学生数据库操作类文件:StudentBO.java

    package net.jsjxy.service;
    
    import java.util.HashMap;
    import java.util.Iterator;
    
    import net.jsjxy.db.Database;
    import net.jsjxy.entity.Student;
    
    public class StudentBO {
    
        Database db;
        public StudentBO(){
            db=new Database();
            db.initDB();
        }
        public void addStudent(Student stu) {
            HashMap<String, Student> map=db.map;
            if(map.containsKey(stu.getXh())){
                System.out.println("学号已经存在");
            }
            else
            {
                db.map.put(stu.getXh(), stu);
                System.out.println("添加成功");
            }
        }
        public void modifyStudent(Student stu){
            String xh=stu.getXh();
            db.map.remove(xh);
            db.map.put(xh, stu);
            
        }
        public Student searchStudent(String xh) {
            Student stu=null;
            if(db.map.containsKey(xh)){
                stu=db.map.get(xh);
                System.out.println("找到了"+xh);
            }
            else
            {
                System.out.println("学号不存在");
            }
            return stu;
        }
    
        public void delStudent(String xh) {
            if(db.map.containsKey(xh)){
                db.map.remove(xh);
                System.out.println("删除成功");
            }
            else
            {
                System.out.println("学号不存在");
            }
        }
        public void displayAll(){
            System.out.println("姓名\t学号\t班级");
            Iterator<String> it=db.map.keySet().iterator();
            while(it.hasNext()){
                String key=it.next();
                Student stu=db.map.get(key);
    //          System.out.println(stu.getXm()+"\t"+stu.getXh()+"\t"+stu.getBanji());
                System.out.println(stu.toString());
            }
        }
    }
    
    

    • 现在就应该写界面类了

    我们建立usergui.java文件

    package net.jsjxy.cui;
    
    import java.util.Scanner;
    
    import net.jsjxy.entity.Student;
    import net.jsjxy.service.StudentBO;
    
    public class usergui {
        static StudentBO db;
        static Scanner scanner = new Scanner(System.in);
        public static void init() {
            db=new StudentBO();
    
            while (true) {
                System.out.println("");
                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("6.退出");
                System.out.print("请输入你的选择:");
                int input = scanner.nextInt();
                switch (input) {
                case 1:
                    addStu();
                    break;
                case 2:
                    searchStu();
                    break;
                case 3:
                    delStu();
                    break;
                case 4:
                    dispStu();
                    break;
                case 5:
                    modStu();
                    break;
                case 6:
                    System.out.println("程序退出");
                    System.exit(0);
                    break;
                default:
                    System.out.println("请输入正确的");
                    break;
                }
            }
        }
    
        public static void addStu() {
            System.out.println("请输入学生的姓名:");
            String xm=scanner.next();
            System.out.println("请输入学生的学号:");
            String xh=scanner.next();
            System.out.println("请输入学生的班级:");
            String bj=scanner.next();
            Student stu=new Student(xm, bj, xh);
            db.addStudent(stu);
        }
        public static void modStu() {
            System.out.println("请输入修改学生的学号:");
            String xh=scanner.next();
            Student stu=db.searchStudent(xh);
            if(stu==null){
                System.out.println("没有找到");
            }
            else{
                System.out.println(stu.toString());
                System.out.println("请输入学生的新姓名:");
                String xm=scanner.next();
                System.out.println("请输入学生的新班级:");
                String bj=scanner.next();
                stu=new Student(xm, bj, xh);
                System.out.print("你确认要修改吗?(y/n)");
                String tmp=scanner.next().toUpperCase();
                
                if(tmp.equals("Y")){
                    db.modifyStudent(stu);
                }
            }
        }
        public static void delStu() {
            System.out.println("请输入删除学生的学号:");
            String xh=scanner.next();
            System.out.print("你确认要删除吗?(y/n)");
            String tmp=scanner.next().toUpperCase();
            if(tmp.equals("Y")){
                db.delStudent(xh);
            }
        }
    
        public static void searchStu() {
            System.out.println("请输入查找学生的学号:");
            String xh=scanner.next();
            Student stu=db.searchStudent(xh);
            if(stu!=null){
                System.out.println(stu.toString());
            }
        }
        public static void dispStu() {
            System.out.println("显示所有学生信息");
            db.displayAll();
        }
    }
    

    • 最后我们来写主类

    建立MainClass.java文件

    package net.jsjxy.cui;
    
    public class MainClass {
        public static void main(String args[]){
            usergui.init();
        }
    }
    

    相关文章

      网友评论

        本文标题:java项目:学生管理系统

        本文链接:https://www.haomeiwen.com/subject/dofptttx.html