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

java基于集合的学生管理系统

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

java基于集合的学生管理系统

主函数

//系统给个默认的教师账号:admin  密码:1234
public class Main {
	
	public static void main(String[] args) {
		Switchs.loginSwitch();
	}

学生类账号 类(用来存储已注册的学生账号)

public class StudentAdmin {
	private String admin;
	private String password;

	// 给get和set方法
	public String getAdmin() {
		return admin;
	}

	public void setAdmin(String admin) {
		this.admin = admin;
	}

	public String getPassword() {
		return password;
	}

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

	// 只给代码有参构造
	public StudentAdmin(String admin, String password) {
		super();
		this.admin = admin;
		this.password = password;
	}

	@Override
	public String toString() {
		return "Admin [admin=" + admin + ", password=" + password + "]";
	}

}

学生类(学生的基本信息)

package studentMangerCollections;

public class Student  {
	private String name; // 姓名
	private String sex; // 性别
	private int age; // 年龄
	private int classNo; // 班级
	private int grade; // 成绩

	// 有参构造函数
	public Student(String name, String sex, int age, int classNo, int grade) {
		super();
		this.name = name;
		this.sex = sex;
		this.age = age;
		this.classNo = classNo;
		this.grade = grade;
	}

	// 无参构造
	public Student() {
		super();
	}

	// 为私有化成员属性进行get和set方法
	public String getName() {
		return name;
	}

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

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public int getClassNo() {
		return classNo;
	}

	public void setClassNo(int classNo) {
		this.classNo = classNo;
	}

	public int getGrade() {
		return grade;
	}

	public void setGrade(int grade) {
		this.grade = grade;
	}

	// 重写Student类的toString方法
	@Override
	public String toString() {
		return "Student [name=" + name + ", sex=" + sex + ", age=" + age + ", classNo=" + classNo + ", grade=" + grade
				+ "]";
	}

}

注册模块

package studentMangerCollections;

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

public class Register {
	static List students = new ArrayList<>();
	public static void register() {
		
		@SuppressWarnings("resource")
		Scanner scan = new Scanner(System.in);
		boolean m = true;
		// 使用正则表达式规范密码:数字和字母一共4到8位,不能纯数字也不能纯字母
		String regex = "(?!^\d+$)(?!^[a-zA-Z]+$)[0-9a-zA-Z]{4,8}";
		// 使用正则表达式规范用户名,只能是字母4-8位
		String regex2 = "[a-zA-z]{4,8}";

		System.out.println("请输入要注册的账号-----4至8位字母组成");
		String userName = scan.next();
		System.out.println("请输入注册的密码--------4至8位字母数字组成");
		String password = scan.next();
		for (int i = 0; i < students.size(); i++) {
			if (students.get(i).getAdmin().equals(userName)) {
				m = false;
			}
		}
		if (m && userName.matches(regex2) && password.matches(regex)) {
			students.add(new StudentAdmin(userName, password));
			System.out.println(students.toString());
			Switchs.loginSwitch();
		} else {
			System.out.println("用户名重复或不符合规定,重新填写");
			register();
		}
	}

}

学生登录模块

package studentMangerCollections;

import java.util.Scanner;



public class StudentLogin {


	static Scanner scan = new Scanner(System.in);

	public static void login() {
		int count=3;
		for(int j=1;j<=3;j++) {			
			boolean m=true;
			System.out.println("欢迎来到学生登录端口");
			System.out.println("请输入用户名");
			String userName=scan.next();
			System.out.println("请输入密码");
			String password=scan.next();
		for(int i=0;i 

学生端口操作类

package studentMangerCollections;

public class StuIMP implements StuServate{
TeaIMP t=new TeaIMP();
	@Override
	public void showAllStuManger() {
		t.showAllStuManger();
	}

	@Override
	public void showAllStuMangerAsClass() {
		// TODO Auto-generated method stub
		t.showAllStuMangerAsClass();
	}

	@Override
	public void showAllStuMangerAsGrade() {
		// TODO Auto-generated method stub
		t.showAllStuMangerAsGrade();
	}

}

学生端口的接口

package studentMangerCollections;

public interface StuServate {
	public abstract void showAllStuManger();
	public abstract void showAllStuMangerAsClass();
	public abstract void showAllStuMangerAsGrade();
}

switch选择类

package studentMangerCollections;
//本管理方法由于没有使用GUI,故给定一些switch选择

import java.util.Scanner;

public class Switchs {
	static Scanner scan = new Scanner(System.in);

	public static void loginSwitch() {
		System.out.println("请选择如下选项:");
		System.out.println("1:学生登录端口");
		System.out.println("2:教师登录端口");
		System.out.println("3:注册端口");
		System.out.println("4:退出系统");
		System.out.println("输入其它值退出系统");
		int choose = scan.nextInt();
		switch (choose) {
		case 1:
			StudentLogin.login();
			break;
		case 2:
			TeacherLogin.login();
			break;
		case 3:
			Register.register();
			break;
		case 4:
			break;
		default:
			System.out.println("属于有误,重新选择");
			loginSwitch();
			break;
		}
	}

	public static void TeaChoose() {
		TeaIMP t = new TeaIMP();
		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.println("7:------修改某个学生信息---------------------");
		System.out.println("8:-------------退出-------------------------");
		System.out.println("9:--------转到登录处-------------------------");

		int choose = scan.nextInt();
		switch (choose) {
		case 1:
			t.showAllStuManger();
			break;
		case 2:
			t.showStuManger();
			break;
		case 3:
			t.showAllStuMangerAsClass();
			break;
		case 4:
			t.showAllStuMangerAsGrade();
			break;
		case 5:
			t.addStu();
			break;
		case 6:
			t.deleteStu();
			break;
		case 7:
			t.SetStu();
			break;
		case 8:
			break;
		case 9:
			loginSwitch();
			break;
		default:
			System.out.println("无效操作,重输");
			TeaChoose();
			break;
		}
	}

	public static void stuChoose() {
		StuIMP s = new StuIMP();
		System.out.println("欢迎来到学生端------------请选择要进行的操作");
		System.out.println("1:------查看所有学生信息-------------------");
		System.out.println("2:------按班级查看所有学生信息--------------");
		System.out.println("3:------按成绩排序查看所有学生信息----------");
		System.out.println("4:-------------退出-------------------------");
		int choose = scan.nextInt();
		switch (choose) {
		case 1:
			s.showAllStuManger();
			break;
		case 2:
			s.showAllStuMangerAsClass();
			break;
		case 3:
			s.showAllStuMangerAsGrade();
			break;
		case 4:
			break;
		default:
			System.out.println("输入信息有误,重新输入");
			stuChoose();
			break;
		}
	}

}

教师登录端口

package studentMangerCollections;

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

public  class TeacherLogin {
	static Scanner scan = new Scanner(System.in);

	public static void login() {
		System.out.println("欢迎来到教师登录窗口");
		List teachers = new ArrayList<>();
		teachers.add(new TeacherAdmin("admin", "1234"));
		teachers.add(new TeacherAdmin("xzc", "1219"));
		teachers.add(new TeacherAdmin("sxl", "qwer"));
		System.out.println("本次登录共有3次机会");
		int count = 3;
		boolean m = true;
		for (int i = 1; i <= 3; i++) {
			System.out.println("请输入用户名");
			String admin = scan.next();
			System.out.println("请输入密码");
			String password = scan.next();

			for (int j = 0; j < teachers.size(); j++) {
				if (teachers.get(j).getAdmin().equals(admin) && teachers.get(j).getPassword().equals(password)) {

					m = false;
					break;
				}
			}
			if (m) {
				if (i == 3) {
					System.out.println("登录失败");
				} else {
					System.out.println("密码或账号错误,您还有" + (count - i) + "次机会");
				}

			} else {
				Switchs.TeaChoose();
				break;
			}

		}
	}

}

教师端口对学生操作类

package studentMangerCollections;

import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;

public class TeaIMP implements TeaServate {
	Scanner scan = new Scanner(System.in);
	static Map m = new TreeMap<>();

	public void showAllStuManger() {
		// TODO Auto-generated method stub
		Set keySet = m.keySet();
		System.out.println(m.size());
		for (Integer s : keySet) {
			System.out.println("姓名" + m.get(s).getName() + "性别" + m.get(s).getSex() + "学号" + s + "年龄"
					+ m.get(s).getAge() + "班级" + m.get(s).getClassNo() + "成绩" + m.get(s).getGrade());
		}
	}

	@Override
	public void showAllStuMangerAsClass() {
		// TODO Auto-generated method stub
		for (int i = 1; i < 10; i++) {
			System.out.println(i + "班");
			Set ks = m.keySet();
			for (Integer s : ks) {
				if (m.get(s).getClassNo() == i) {
					System.out.println("姓名" + m.get(s).getName() + "性别" + m.get(s).getSex() + "学号" + s + "年龄"
							+ m.get(s).getAge() + "班级" + m.get(s).getClassNo() + "成绩" + m.get(s).getGrade());
				}
			}
		}

	}

	@Override
	public void showAllStuMangerAsGrade() {
		for (int i = 150; i >= 0; i--) {

			Set ks = m.keySet();
			for (Integer s : ks) {
				if (m.get(s).getGrade() == i) {
					System.out.println("姓名" + m.get(s).getName() + "性别" + m.get(s).getSex() + "学号" + s + "年龄"
							+ m.get(s).getAge() + "班级" + m.get(s).getClassNo() + "成绩" + m.get(s).getGrade());
				}
			}

		}
	}

	@Override
	public void addStu() {
		// TODO Auto-generated method stub
		System.out.println("请输入学生姓名");
		String name = scan.next();
		System.out.println("请输入学生性别");
		String sex = scan.next();
		System.out.println("请输入学生年龄");
		int age = scan.nextInt();
		System.out.println("请输入学生学号");
		int num = scan.nextInt();
		System.out.println("请输入学生班级");
		int classNo = scan.nextInt();
		System.out.println("请输入学生成绩");
		int grade = scan.nextInt();
		if (m.containsKey(num)) {
			System.out.println("学号重复,重新输入信息");
			addStu();
		} else {
			m.put(num, new Student(name, sex, age, classNo, grade));
			Switchs.TeaChoose();
		}
		Switchs.TeaChoose();
	}

	@Override
	public void deleteStu() {
		System.out.println("请输入删除学生的学号");
		int num = scan.nextInt();

		if (m.containsKey(num)) {
			m.remove(num);
		} else {
			System.out.println("查无此人,请重新输入删除的学号");
		}
	}

	@Override
	public void SetStu() {
		// TODO Auto-generated method stub
		System.out.println("请输入删除学生的学号");
		int num = scan.nextInt();

		if (m.containsKey(num)) {

			System.out.println("请输入要修改操作");
			System.out.println("1:姓名  2:性别  3:年龄  4:班级  5:成绩  ");
			int n = scan.nextInt();
			System.out.println("请输入修改后的数据");
			String newData = scan.next();
			switch (n) {
			case 1:
				m.get(num).setName(newData);
				break;
			case 2:
				m.get(num).setSex(newData);
				break;
			case 3:
				m.get(num).setAge(Integer.parseInt(newData));
				break;
			case 4:
				m.get(num).setClassNo(Integer.parseInt(newData));
				break;
			case 5:
				m.get(num).setGrade(Integer.parseInt(newData));
				break;
			default:
				System.out.println("输入信息有误,重新选择");
				SetStu();
				break;
			}

		} else {
			System.out.println("查无此人,请重新输入删除的学号");
		}
	}

	@Override
	public void showStuManger() {
		System.out.println("请输入查询学生的学号");
		int s = scan.nextInt();
		if (m.containsKey(s)) {
			System.out.println("姓名" + m.get(s).getName() + "性别" + m.get(s).getSex() + "学号" + s + "年龄"
					+ m.get(s).getAge() + "班级" + m.get(s).getClassNo() + "成绩" + m.get(s).getGrade());
			Switchs.TeaChoose();
		} else {
			System.out.println("没有该学生,重写选择");
			showStuManger();
		}

	}

}

教师端口接口

package studentMangerCollections;

public interface TeaServate {
	public abstract void showAllStuManger();
	public abstract void showStuManger();
	public abstract void showAllStuMangerAsClass();
	public abstract void showAllStuMangerAsGrade();
	public abstract void addStu();
	public abstract void deleteStu();
	public abstract void SetStu();
}

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

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

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