班级管理系统

系统要求
项目名称: 《班级管理系统》 英文:classMangerSystem
功能描术: 班级管理系统是对班级学生进行管理的一套系统,
具体包含学生管理、班级管理、学生选班、学生入班等功能.
要求:
1>.创建一个班级类Class至少包含:班级名称(name)、编号(id),班级所有学生(students)三个属性;
在Class类中封装班级管理功能: 创建班级(createClass)、查看所班级(showAllClass).
2>.创建学生类Student要求与学生信息管理系统相同.
3>.选择班级不存在时需给出提示。
3>.通过输入命令进行交互操作,控制台输出效果如下:

======= 欢迎进入班级管理系统! ======
=====【班级管理系统主界面】=======
1 班级管理, 2 学生管理, 3 入班管理, 4 退出
<输入操作命令:>
1
======班级管理操作=========
1 创建班级, 2 显示所有班级, 3 返回班级系统主界面
<输入操作命令:>
1
请输入班级名称:
Android班
请输入班级编号:
1001
======添加成功 ! 班级名是 :Android,编号是 : 1001=========
<输入操作命令:>
2
班级 编号 班级学生
Android班 1001

<输入操作命令:>
3
=====【班级管理系统主界面】=======
1 班级管理, 2 学生管理, 3 入班管理, 4 退出
<输入操作命令:>
2
=====学生管理主界面========
1 添加学生, 2 显示学生 , 3 查找学生 , 4 返回选课系统主界面
<输入操作命令:>
1
请输入姓名:
小明
请输入学号:
1001
======添加成功 ! 学生姓名是 :小明,学号是 : 1001=========
4
=====【班级管理系统主界面】=======
1 班级管理, 2 学生管理, 3 入班管理, 4 退出
<输入操作命令:>
3
=======入班管理操作========
1 显示班级 , 2 显示学生, 3 入班操作, 4 返回选课系统主界面
<输入操作命令:>
1
班级 编号 学生
Android班 1001
IOS班 1002
<输入操作命令:>
2
姓名 学号
小明 2001
莉莉 2002
张三 3001
<输入操作命令:>
3
========入班操作=========
请输入学生学号:
2001
请输入班级编号:
1001
=======入班成功! 学生小明已成为Android班学生======
<输入操作命令:>
3========选课操作=========
请输入学生学号:
2002
请输入班级编号:
1001
=======入班成功! 学生莉莉成为Android班学生======
<输入操作命令:>
1
班级 编号 学生
Android班 1001 小明,莉莉
IOS班 1002

<输入操作命令:>
4
=====【班级管理系统主界面】=======
1 班级管理, 2 学生管理, 3 入班管理, 4 退出
<输入操作命令:>
4
==== 您已经退出《班级管理系统》 ====

代码区:

创建一个学生类,定义名字编号;

package com.manage;

public class Student {
private String name;
private int number;
public Student(String name, int number) {
super();
this.name = name;
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public void choice(){
}
}

创建一个班级类;定义班级名字和编号,定义一个班里学生数组;

package com.manage;
import java.util.ArrayList;
import java.util.List;
public class MyClass {
private String name;
private int number;
private List<Student> students = new ArrayList<Student>();

public List<Student> getStudents() {
return students;
}
public void setStudents(List<Student> students) {
this.students = students;
}
public MyClass(String name, int number) {
super();
this.name = name;
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public void choice() {
}
}

最后就是建立一个测试类。
package com.manage;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
import com.manage.MyClass;
import com.manage.Student;
public class ManageClass {

     static List<Student> StudentList = new LinkedList<Student>();
     static List<Student> Students = new ArrayList<Student>();
     static List<MyClass> MyClassList = new LinkedList<MyClass>();

    public static void main(String[] args) {

        Test();
    }
            public static void Test(){
                System.out.println("======欢迎使用班级管理系统=====");
                System.out.println("请输入管理员密码:");
                String pass = "562300";
                Scanner sp = new Scanner(System.in);
                String password = sp.nextLine();
                    if(password.equals(pass)){
                                ClassMenu();
                    }else {
                        System.out.println("你输入的密码错误!");
                        System.out.println("请重新输入!");
                        Test();
                    }
            }
        public static void ClassMenu(){
            System.out.println("==========班级管理主界面==========");
            System.out.println("1.班级管理    2.学生管理     3.入班管理        4.退出");
            System.out.println("请输入操作指令:");
            Scanner sc = new Scanner(System.in);
            int choice = sc.nextInt();
            switch(choice){

                            //班级管理,完成
                        case 1:
                                ManageClass();
                            break;

                            //学生管理,完成!!
                        case 2:
                            ManageStudent();
                            break;

                            //入班管理,准备中
                        case 3:
                                JoinManage();
                                break;

                            //退出,完成!!!
                        case 4:
                                ExitManage();
                                break;

            }
        }


        /**
         *          ======班级管理操作=========
                1 创建班级, 2 显示所有班级, 3 返回班级系统主界面
         */
        public static void ManageClass(){
            System.out.println("=====欢迎来到班级管理界面=====");
            System.out.println("请选择你的操作指令:");
            System.out.println("1.创建班级  2.显示所有班级   3.返回班级系统主界面   4.返回学生系统主界面");
            Scanner sc = new Scanner(System.in);
            int choice = sc.nextInt();
            switch(choice){
                        case 1:
                            System.out.println("请输入创建的班级名字:");
                            Scanner sclass = new Scanner(System.in);
                            String name = sclass.nextLine();
                            System.out.println("请输入班级编号:");
                            Scanner sn = new Scanner(System.in);
                            int number = sn.nextInt();
                            /*Class calss = new Class(name,number);*/
                            MyClassList.add(new MyClass(name,number));
                            System.out.println("现有班级"+MyClassList.size());
                            System.out.println("添加班级成功!!!");
                            ManageClass();
                            break;

                            //显示所有班级
                        case 2:
                            System.out.println("现有班级:"+MyClassList.size());
                            System.out.println("班级名\t"+"编号\t");
                            for (int i = 0; i < MyClassList.size(); i++) {
                                MyClass my = MyClassList.get(i);
                                System.out.println(my.getName()+"\t"+my.getNumber());
                            }
                            ManageClass();
                            break;

                            //返回班级系统主界面
                        case 3:
                            System.out.println("正在返回班级系统主界面");
                            System.out.println("跳转中...");
                            try {
                                Thread.sleep(1500);
                                ManageClass();
                            } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }

                            //返回学生系统主界面
                        case 4:
                            System.out.println("谢谢使用班级管理系统!");
                            System.out.println("跳转中...");

                            //使用线程让程序暂停1.2秒再执行
                    try {
                        Thread.sleep(1200);
                        ClassMenu();
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

            }
        }


        /**
         *                      ========学生管理主界面========
                    1 添加学生, 2 显示学生 , 3 查找学生 , 4 返回选课系统主界面
         */
        public static void ManageStudent(){

            System.out.println("=====欢迎来到学生管理界面=====");
            System.out.println("请选择你的操作指令:");
            System.out.println("1.添加学生  2.显示学生   3.查找学生   4.返回学生系统主界面");
            Scanner sc = new Scanner(System.in);
            int choice = sc.nextInt();
            switch(choice){

                        //添加学生
                    case 1:
                        System.out.println("请输入学生名字:");
                        Scanner sname = new Scanner(System.in);
                        String name = sname.nextLine();
                        System.out.println("请输入学生学号:");
                        Scanner snum = new Scanner(System.in);
                        int number = snum.nextInt();
                        StudentList.add(new Student(name,number));
                        System.out.println("学生个数有:"+StudentList.size());
                        System.out.println("添加成功!!!");
                        ManageStudent();
                        break;

                        //显示学生
                    case 2:
                        System.out.println("名册里有学生:"+StudentList.size());
                        System.out.println("学生\t"+"学号\t"+"班级");
                        for (int i = 0; i < StudentList.size(); i++) {
                            Student s = StudentList.get(i);
                            System.out.println(s.getName()+"\t"+s.getNumber()+"\t");
                        }
                        ManageStudent();
                        break;

                        //查找学生
                    case 3:
                        System.out.println("请输入学生学号:");
                        Scanner snumber = new Scanner(System.in);
                        int number1 = snumber.nextInt();
                         boolean isfindData = false;
                        for (int i = 0; i < StudentList.size(); i++) {
                            if(number1==(StudentList.get(i).getNumber())){
                                System.out.println("姓名\t"+"学号\t"+"班级\t");
                                System.out.println(StudentList.get(i).getName()+"\t"+StudentList.get(i).getNumber());
                                isfindData = true;
                            }

                        }
                        if(!isfindData){
                            System.out.println("抱歉,没有找到");
                            }
                          ManageStudent();
                            break;
                        default:
                            System.out.println("您输入的数字有误,请重新输入:");
                            break;

                        //返回学生系统主界面
                    case 4:
                        System.out.println("谢谢使用学生管理系统!");
                        System.out.println("跳转中...");

                        //使用线程让程序暂停1.2秒再执行
                try {
                    Thread.sleep(1200);
                    ClassMenu();
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }


        /**
         *                          ========入班管理操作========
                    1 显示班级 , 2 显示学生, 3 入班操作, 4 返回学生系统主界面
         */

        public static void JoinManage(){
            System.out.println("=====欢迎使用入班管理系统!=====");
            System.out.println("请输入 操作指令:");
            System.out.println("1.显示班级     2.显示学生   3.入班操作    4.返回学生管理系统主界面");
            Scanner scanner = new Scanner(System.in);
            int choice = scanner.nextInt();
                switch(choice){
                                //显示班级
                            case 1:
                                System.out.println("现有班级:"+MyClassList.size());
                                System.out.println("班级名\t"+"编号\t" + "学生\t");
                                for (int i = 0; i < MyClassList.size(); i++) {
                                    MyClass my = MyClassList.get(i);
                                    //下面这个输出语句是为了在你没有加入学生显示班级,但是当你加入学生之后这个会重复输出,所有排除
                                //  System.out.println(my.getName()+"\t"+my.getNumber());
                                    for (int j = 0; j < my.getStudents().size(); j++) {
                                        Student s = my.getStudents().get(j);
                                        System.out.println(my.getName()+"\t"+my.getNumber() + "\t" + s.getName());
                                    }
                                }
                                JoinManage();
                                break;

                                //显示学生
                            case 2:
                                System.out.println("名册里有学生:"+StudentList.size());
                                System.out.println("学生\t"+"学号\t"+"班级");
                                //这里和前面显示学生是一样的,在学生没有加入班级之前可以查询
                                /*for (int i = 0; i <   StudentList.size(); i++) {
                                    Student s = StudentList.get(i);
                                        System.out.println(s.getName()+"\t"+s.getNumber()+"\t");
                                }*/

                                //这里如果不加入学生那么第一遍查询是没有内容的,只有在第二个模板里查询学生
                                for (int i = 0; i < MyClassList.size(); i++) {
                                    MyClass my = MyClassList.get(i);
                                //  System.out.println(my.getName()+"\t"+my.getNumber());
                                    for (int j = 0; j < my.getStudents().size(); j++) {
                                        Student s = my.getStudents().get(j);
                                        System.out.println(s.getName()+"\t"+s.getNumber() + "\t" + my.getName());
                                    }
                                }
                                JoinManage();
                                break;

                                //入班操作,准备中
                            case 3:

                                System.out.println("请输入学生学号:");
                                Scanner scann = new Scanner(System.in);
                                int number = scann. nextInt();
                                System.out.println("请输入班级编号:");
                                Scanner sca = new Scanner(System.in);
                                int classnumber = sca.nextInt();
                                //遍历班级
                                for (int i = 0; i < MyClassList.size(); i++) {
                                    if(MyClassList.get(i).getNumber() == classnumber){
                                        //建立学生
                                        for (int j = 0; j < StudentList.size(); j++) {
                                            if(StudentList.get(j).getNumber() == number){
                                                //加入班级
                                                MyClassList.get(i).getStudents().add(StudentList.get(j));
                                                System.out.println("入班成功!!!" + StudentList.get(j).getName() + "成为" + MyClassList.get(i).getName() + "的学生");
                                            }
                                        }
                                    }
                                }
                                JoinManage();
                                break;

                                //返回学生系统管理主界面
                            case 4:
                                System.out.println("谢谢使用学生入班管理系统!");
                                System.out.println("跳转中...");

                                //使用线程让程序暂停1.2秒再执行
                        try {
                            Thread.sleep(1200);
                            ClassMenu();
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                }
        }

        /**
         *              =====实现退出学生管理系统====
         */
        public static void ExitManage(){    
            System.out.println("退出中...");
            try {
                Thread.sleep(1200);
                System.out.println("您已退出学生管理系统!");
                System.exit(1000);

            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
}
发布了16 篇原创文章 · 获赞 18 · 访问量 2万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览