班级管理系统
系统要求
项目名称: 《班级管理系统》 英文: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();
}
}
}
