栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java分层学生管理系统 初级代码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java分层学生管理系统 初级代码

beans层 Student类
package beans;

import java.util.HashMap;
import java.util.Map;

public class Student {
    private int no;//学号
    private String password;//密码
    private String name;//姓名
    private String clas;//班级
    private String subject;//学科
    private double sorce;//分数


     Map map = new HashMap<>();

    public Student() {//无参构造方法
    }

    public int getNo() {
        return no;
    }

    public void setNo(int no) {
        this.no = no;
    }

    public String getPassword() {
        return password;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public double getSorce() {
        return sorce;
    }

    public void setSorce(double sorce) {
        this.sorce = sorce;
    }

    public Map getMap() {
        return map;
    }

    public void setMap(Map map) {
        this.map = map;
    }

    public String getClas() {
        return clas;
    }

    public void setClas(String clas) {
        this.clas = clas;
    }

    @Override
    public String toString() {
        return "Student{" +
                "学号='" + no + ''' +
                ", 密码='" + password + ''' +
                ", 姓名='" + name + ''' +
                ", 班级='" + clas + ''' +", 成绩="+map+
                '}';
    }
}
Teacher类
package beans;

public class Teacher {
    private int id;//工号
    private String password;//密码
    private String name;//姓名
    private String clas;//班级


    public Teacher() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getPassword() {
        return password;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getClas() {
        return clas;
    }

    public void setClas(String clas) {
        this.clas = clas;
    }

    @Override
    public String toString() {
        return "Teacher{" +
                "id=" + id +
                ", password='" + password + ''' +
                ", name='" + name + ''' +
                ", clas='" + clas + ''' +
                '}';
    }
}
controller层 StudentController
package controller;

import beans.Student;
import beans.Teacher;
import service.StudentService;

import java.util.Scanner;

public  class StudentController{
    static Scanner scanner = new Scanner(System.in);
    StudentService studentService = new StudentService();
    //菜单
    public void menu(){
        System.out.println("【1】登录【2】注册【3】退出");
        int i = scanner.nextInt();
        if (i==1){
            login();
        }else if (i==2){
            register();
        }else if (i==3){
            System.exit(0);
        }else {
            System.out.println("输入的选项有误,请重新输入。");
            menu();
        }
    }
    //注册
    private void register() {
        System.out.println("【1】教师注册【2】学生注册【3】返回上一层【4】退出");
        int i = scanner.nextInt();
        if (i==1){
            teacherRegister();
        }else if (i==2){
            studentRegister();
        }else if (i==3){
            menu();
        }else if (i==4){
            System.exit(0);
        }else {
            System.out.println("输入的选项有误,请重新输入。");
            login();
        }
    }

    //学生注册
    private void studentRegister() {
        System.out.println("请输入注册学号:");
        int no = scanner.nextInt();
        System.out.println("请输入注册密码:");
        String password = scanner.next();
        System.out.println("请输入真实姓名:");
        String name = scanner.next();
        System.out.println("请输入所在班级:");
        String clas = scanner.next();
        if (studentService.addStudents(no,password,name,clas)){
            System.out.println("注册成功");
        }else {
            System.out.println("注册失败");
        }
        register();
    }

    //教师注册
    private void teacherRegister() {
        System.out.println("请输入注册工号:");
        int id = scanner.nextInt();
        System.out.println("请输入注册密码:");
        String password = scanner.next();
        System.out.println("请输入真实姓名:");
        String name = scanner.next();
        System.out.println("请输入所在班级:");
        String clas = scanner.next();
        if (studentService.addTeacher(id,password,name,clas)){
            System.out.println("注册成功");
        }else {
            System.out.println("注册失败");
        }
        register();
    }

    //登录
    private void login() {
        System.out.println("【1】教师登录【2】用户登录【3】返回上一层【4】退出");
        int i = scanner.nextInt();
        if (i==1){
            teacherLogin();
        }else if (i==2){
            studentLogin();
        }else if (i==3){
            menu();
        }else if (i==4){
            System.exit(0);
        }else {
            System.out.println("输入的选项有误,请重新输入。");
            login();
        }
    }
    //学生登录
    private void studentLogin() {
        System.out.println("请输入学号:");
        int no = scanner.nextInt();
        System.out.println("请输入密码:");
        String password = scanner.next();
        Student student = studentService.studentLogin(no,password);
        if (student!=null){
            studentMenu(student);
        }else {
            login();
        }
    }
    //学生功能
    private void studentMenu(Student student) {
        System.out.println("【1】修改信息【2】查看成绩【3】返回上一层【4】退出");
        int i = scanner.nextInt();
        if (i==1){
            updI(student);
        }else if (i==2){
            lookG(student);
        }else if (i==3){
            login();
        }else if (i==4){
            System.exit(0);
        }else {
            System.out.println("你输入的选项有误,请重新输入。");
        }
        studentMenu(student);
    }
    //查看自己成绩
    private void lookG(Student student) {
        System.out.println(student.getName()+student.getMap());
        studentMenu(student);
    }

    //学生修改自己信息
    private void updI(Student student) {
        System.out.println("请输入你要修改的信息:【1】姓名【2】班级【3】密码【4】返回上一层");
        int i = scanner.nextInt();
        if (i==1){
            System.out.println("当前姓名:"+student.getName());
            System.out.println("请输入修改后的姓名:");
            String name = scanner.next();
            studentService.updIN(name,student);
        }else if (i==2){
            System.out.println("当前班级:"+student.getClas());
            System.out.println("请输入修改后的班级:");
            String clas =scanner.next();
            studentService.updIC(clas,student);
        }else if (i==3){
            System.out.println("请输入修改后的密码:");
            String password =scanner.next();
            studentService.updIP(password,student);
        }else if (i==4){
            studentMenu(student);
        }else {
            System.out.println("你输入的选项有误,请重新输入。");

        }
        updI(student);



    }

    //教师登录
    private void teacherLogin() {
        System.out.println("请输入工号:");
        int id = scanner.nextInt();
        System.out.println("请输入密码:");
        String password = scanner.next();
        Teacher teacher = studentService.teacherLogin(id, password);
        if (teacher!=null){
            teacherMenu(teacher);
        }else {
            login();
        }
    }
    //教师功能
    private void teacherMenu(Teacher teacher) {
        System.out.println("【1】添加学生【2】显示所有学生的成绩【3】查找学生的详细信息" +
                "【4】删除学生信息【5】添加学生成绩【6】修改学生成绩【7】返回上一层");
        int i = scanner.nextInt();
        if (i==1){
            addStudent(teacher);
        }else if (i==2){
            lookSGrade(teacher);
        }else if (i==3){
            lookStudents(teacher);
        }else if (i==4){
            delStudentG(teacher);
        }else if (i==5){
            addStudentG(teacher);
        }else if (i==6){
            updStudentG(teacher);
        } else if (i==7){
            login();
        }else {
            System.out.println("你输入的选项有误,请重新输入。");
        }
        teacherMenu(teacher);

    }
    //修改学生成绩
    private void updStudentG(Teacher teacher) {
        System.out.println("请输入要修改学生的姓名:");
        String name = scanner.next();
        studentService.updStudentG(name,teacher);
        teacherMenu(teacher);
    }

    //添加学生成绩
    private void addStudentG(Teacher teacher) {
        System.out.println("请输入要添加学生的姓名:");
        String name = scanner.next();
        studentService.addStudentG(name,teacher);
        teacherMenu(teacher);
    }


    //删除学生成绩
    private void delStudentG(Teacher teacher) {
        System.out.println("请输入要删除学生的姓名:");
        String name = scanner.next();
        System.out.println("请输入你要删除的信息:(成绩/人)");
        String message =scanner.next();
        if (studentService.delStudentG(message,name,teacher)){
            System.out.println("删除成功!");
        }else {
            System.out.println("未找到该学生,删除失败!");
        }
        teacherMenu(teacher);
    }

    //查看学生详细信息
    private void lookStudents(Teacher teacher) {
        studentService.lookStudents(teacher);
        teacherMenu(teacher);
    }

    //查看学生成绩
    private void lookSGrade(Teacher teacher) {
        studentService.lookSGrades(teacher);
        teacherMenu(teacher);
    }

    //教师添加学生
    private void addStudent(Teacher teacher) {
        System.out.println("请输入注册学号:");
        int no = scanner.nextInt();
        System.out.println("请输入注册密码:");
        String password = scanner.next();
        System.out.println("请输入真实姓名:");
        String name = scanner.next();
        if (studentService.addStudents(no,password,name,teacher.getClas())){
            System.out.println("添加成功");
        }else {
            System.out.println("添加失败");
        }
        teacherMenu(teacher);
    }
}
service层 StudentService
package service;

import beans.Student;
import beans.Teacher;
import dao.StudentDao;

import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class StudentService {

    StudentDao studentDao = new StudentDao();
    //添加学生
    public boolean addStudents(int no, String password, String name, String clas) {
        boolean b = true;
        for (Student student:studentDao.getStudents()){
            if (student.getNo()==no){
                System.out.println("该学号已被占用,请重新注册。");
                b =false;
                break;
            }
        }
        Student student = new Student();
        student.setNo(no);
        student.setName(name);
        student.setPassword(password);
        student.setClas(clas);
        studentDao.addStudent(student);
        return b;
    }
    //添加教师
    public boolean addTeacher(int id, String password, String name, String clas) {
        boolean b = true;
        for (Teacher teacher:studentDao.getTeachers()){
            if (teacher.getId()==id){
                System.out.println("该工号已被占用,请重新注册。");
                b =false;
                break;
            }
        }
        Teacher teacher = new Teacher();
        teacher.setId(id);
        teacher.setName(name);
        teacher.setPassword(password);
        teacher.setClas(clas);
        studentDao.addTeacher(teacher);
        return b;
    }
    //教师登录
    public Teacher teacherLogin(int id, String password) {

        for (Teacher teacher:studentDao.getTeachers()){
            if (teacher.getId()==id&& teacher.getPassword().equals(password)){
                System.out.println("登录成功");
                return teacher;
            }
        }
        System.out.println("登录失败,你输入的工号或密码有误!");
        return null;
    }
    //学生登录
    public Student studentLogin(int no, String password) {

        for (Student student:studentDao.getStudents()){
            if (student.getNo()==no&& student.getPassword().equals(password)){
                System.out.println("登录成功");
                return student;
            }
        }
        System.out.println("登录失败,你输入的学号或密码有误!");
        return null;
    }
    //查看所有学生成绩
    public void lookSGrades(Teacher teacher) {
        for (Student student :studentDao.getStudents()){
            if (student.getClas().equals(teacher.getClas())){
                System.out.println(student.getName()+student.getMap());
            }
        }
    }
    //查看学生详细信息
    public void lookStudents(Teacher teacher) {
        for (Student student :studentDao.getStudents()){
            if (student.getClas().equals(teacher.getClas())){
                System.out.println(student);
            }
        }
    }
    //删除学生成绩
    public boolean delStudentG(String message, String name, Teacher teacher) {
        boolean b = false;
        if (message.equals("成绩")) {
            for (Student student : studentDao.getStudents()) {
                if (student.getClas().equals(teacher.getClas()) && student.getName().equals(name)) {
                    student.setMap(null);
                    b = true;
                    break;
                }
            }
        }else {
            List students = studentDao.getStudents();
            for (Student student :students) {
                if (student.getClas().equals(teacher.getClas())&&student.getName().equals(name)) {
                    students.remove(student);
                    b=true;
                    break;
                }
            }
        }
        return b;
    }

    public void addStudentG(String name, Teacher teacher) {
        for (Student student : studentDao.getStudents()) {

            if (student.getClas().equals(teacher.getClas()) && student.getName().equals(name)) {
                System.out.println("请输入你要添加几课:");
                Scanner scanner = new Scanner(System.in);
                int i = scanner.nextInt();
                Map map = student.getMap();
                for (int j = 0; j < i; j++) {
                    System.out.println("请输入要添加学科:");
                    String subject= scanner.next();
                    System.out.println("请输入学科成绩:");
                    double sorce = scanner.nextDouble();
                    map.put(subject,sorce);
                }
                System.out.println("添加成功");
                return;
            }
        }
        System.out.println("未找到该同学,添加失败。");
    }
    //学生修改班级信息
    public void updIC(String message, Student student) {
        for (Student student1 : studentDao.getStudents()) {
            if (student1.getName().equals(student.getName())){
                student1.setClas(message);
                System.out.println("修改成功");
                return;
            }
        }
        System.out.println("你已被删除,无法修改。");
    }
    //学生修改姓名信息
    public void updIN(String message, Student student) {
        for (Student student1 : studentDao.getStudents()) {
            if (student1.getName().equals(student.getName())){
                student1.setName(message);
                System.out.println("修改成功");
                return;
            }
        }
        System.out.println("你已被删除,无法修改。");
    }
    //学生修改密码信息
    public void updIP(String message, Student student) {
        for (Student student1 : studentDao.getStudents()) {
            if (student1.getName().equals(student.getName())&&student.getClas().equals(student1.getClas())){
                student1.setPassword(message);
                System.out.println("修改成功");
                return;
            }
        }
        System.out.println("你已被删除,无法修改。");
    }
    //修改学生成绩
    public void updStudentG(String name, Teacher teacher) {
        for (Student student : studentDao.getStudents()) {
            if (student.getName().equals(name)&&student.getClas().equals(teacher.getClas())){
                Set strings = student.getMap().keySet();
                for (String s : strings){
                    Scanner scanner = new Scanner(System.in);
                    System.out.println("请输入要修改哪课成绩:");
                    String name1 = scanner.next();
                    System.out.println("请输入要修改后成绩:");
                    Double grade = scanner.nextDouble();
                    if (name1.equals(s)){
                        student.getMap().put(name1,grade);

                    }else {
                        student.getMap().put(name1,grade);
                    }
                    System.out.println("修改成功!");
                    return;
                }
            }
        }
        System.out.println("修改失败,未找到该同学。");
    }

    
}
dao层  StudentDao
package dao;

import beans.Student;
import beans.Teacher;

import java.util.ArrayList;
import java.util.List;

public class StudentDao {
    static List studentList = new ArrayList<>();
    static List teacherList = new ArrayList<>();

    static {

        Student student = new Student();
        student.setNo(123456789);
        student.setName("张三");
        student.setPassword("123456789");
        student.setClas("sjt2206");
        studentList.add(student);

        Teacher teacher = new Teacher();
        teacher.setId(123456);
        teacher.setName("白老师");
        teacher.setPassword("123456");
        teacher.setClas("sjt2206");
        teacherList.add(teacher);


    }
    //获取所有学生信息
    public List getStudents() {
        return studentList;
    }
    //获取所有老师信息
    public List getTeachers() {
        return teacherList;
    }
    //添加学生
    public void addStudent(Student student) {
        studentList.add(student);
    }
    //添加老师
    public void addTeacher(Teacher teacher) {
        teacherList.add(teacher);
    }
}
test层  Test 

package test;

import controller.StudentController;

public class Test {
    public static void main(String[] args) {
        System.out.println(" 教务网管理系统 ");
        StudentController studentController = new StudentController();
        studentController.menu();
    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019995.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号