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();
}
}