Java怎么实现简易学籍管理系统
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关Java怎么实现简易学籍管理系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下1、我们先来讲讲什么是泛型化编程package 学生管理
千家信息网最后更新 2026年11月02日Java怎么实现简易学籍管理系统
这篇文章给大家分享的是有关Java怎么实现简易学籍管理系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
具体内容如下
1、我们先来讲讲什么是泛型化编程
package 学生管理系统; import java.util.ArrayList;import java.util.List; /* * 进行泛型化编程 * @autor:pcb * */public class TestGeneric { //进行泛型化编程,规定类型。 public List courses; public TestGeneric() { this.courses = new ArrayList(); } public void testAdd() { CourseClass cr1 = new CourseClass("1","大学语文"); courses.add(cr1); //泛型集合中不能添加规定意外的对象 //courses.add("能否添加一些奇怪的东西"); CourseClass cr2 = new CourseClass("2","Java基础"); courses.add(cr2); } public void testForEach() { //进行泛型之后,可直接利用它规定的类型及其子类型直接进行访问 for(CourseClass cr:courses) { System.out.println(cr.id+":"+cr.name); } } //泛型集合可以添加泛型的子类型的对象实例 public void testChild() { ChildCourse ccr = new ChildCourse(); ccr.id = "3"; ccr.name = "我是子类的课程实例对象"; courses.add(ccr); } //泛型必须使用包装类型进行创建,例如:int和integer public void testBaic() { List list = new ArrayList(); list.add(1); System.out.println("基本类型必须使用包装类作为泛型!"+list.get(0)); } public static void main(String[] args) { TestGeneric tg = new TestGeneric(); tg.testAdd(); tg.testForEach(); tg.testChild(); tg.testForEach(); tg.testBaic(); //tg.testForEach(); }} 2、我们开始进行管理系统的创建,创建一个学生类和一个课程类
package 学生管理系统; import java.util.HashSet;import java.util.Set;public class StudentsClass implements Comparable{ public String id; public String name; public Set courses; public StudentsClass(String id,String name){ this.id=id; this.name=name; this.courses=new HashSet (); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof StudentsClass)) return false; StudentsClass other = (StudentsClass) obj; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } public int compareTo(StudentsClass o) { return this.id.compareTo(o.id); }}package 学生管理系统; public class CourseClass { public String id; public String name; public CourseClass(String id,String name){ this.id=id; this.name=name; } public CourseClass() { } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof CourseClass)) return false; CourseClass other = (CourseClass) obj; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; }}
3、利用List进行增加课程,删除课程,修改课程等的操作
package 学生管理系统;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List; public class ListTest { //创建public List coursesToSelect; //构造器 public ListTest(){ this.coursesToSelect = new ArrayList(); } public void testAdd(){ //加课 CourseClass cr1 = new CourseClass("1","数据结构"); coursesToSelect.add(cr1); CourseClass temp = (CourseClass)coursesToSelect.get(0); System.out.println("添加了课程:"+temp.id+":"+temp.name); CourseClass cr2 = new CourseClass("2","c语言"); coursesToSelect.add(0, cr2); CourseClass temp2 = (CourseClass)coursesToSelect.get(0); System.out.println("添加了课程:"+temp2.id+":"+temp2.name); CourseClass[] Course={new CourseClass("3","离散数学"),new CourseClass("4","汇编语言")}; coursesToSelect.addAll(Arrays.asList(Course)); CourseClass temp3 = (CourseClass)coursesToSelect.get(2); CourseClass temp4 = (CourseClass)coursesToSelect.get(3); System.out.println("添加了两门课程:"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name); CourseClass[] Course1= {new CourseClass("5","高等数学"),new CourseClass("6","大学英语")}; coursesToSelect.addAll(2, Arrays.asList(Course1)); CourseClass temp5 = (CourseClass)coursesToSelect.get(2); CourseClass temp6 = (CourseClass)coursesToSelect.get(3); System.out.println("添加了两门课程:"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.name); } public void test() { int size = coursesToSelect.size(); for(int i=0;i4、利用set集合进行删除,添加,查询操作
package 学生管理系统; import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Scanner; public class SetTest { //创建 public List coursesToSelect; //向屏幕读取 private Scanner console; public StudentsClass student; //进行构造 public SetTest() { coursesToSelect = new ArrayList(); console = new Scanner(System.in); } public void testAdd(){ //加课 CourseClass cr1 = new CourseClass("1","数据结构"); coursesToSelect.add(cr1); CourseClass temp = (CourseClass)coursesToSelect.get(0); //System.out.println("添加了课程:"+temp.id+":"+temp.name); CourseClass cr2 = new CourseClass("2","c语言"); coursesToSelect.add(0, cr2); CourseClass temp2 = (CourseClass)coursesToSelect.get(0); //System.out.println("添加了课程:"+temp2.id+":"+temp2.name); CourseClass[] Course={new CourseClass("3","离散数学"),new CourseClass("4","汇编语言")}; coursesToSelect.addAll(Arrays.asList(Course)); CourseClass temp3 = (CourseClass)coursesToSelect.get(2); CourseClass temp4 = (CourseClass)coursesToSelect.get(3); //System.out.println("添加了两门课程:"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name); CourseClass[] Course1= {new CourseClass("5","高等数学"),new CourseClass("6","大学英语")}; coursesToSelect.addAll(2, Arrays.asList(Course1)); CourseClass temp5 = (CourseClass)coursesToSelect.get(2); CourseClass temp6 = (CourseClass)coursesToSelect.get(3); //System.out.println("添加了两门课程:"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.name); } public void testForEach() { System.out.println("可选择的课程(通过FOREACH访问):"); for(Object obj:coursesToSelect) { CourseClass cr = (CourseClass) obj; System.out.println("课程"+":"+cr.id+":"+cr.name); } } //查询是否包含此课程 public void testListContains() { CourseClass course = coursesToSelect.get(0); System.out.println("取得课程:"+course.name); System.out.println("备选课程是否包含课程:"+course.name+"," +coursesToSelect.contains(course)); System.out.println("请输入课程名称:"); String name = console.next(); CourseClass course2 = new CourseClass(); course2.name = name; System.out.println("新创建课程:"+course2.name); System.out.println("备选课程是否包含课程:"+course2.name+"," +coursesToSelect.contains(course2)); //indexof来求出索引 if(coursesToSelect.contains(course2)) { System.out.println("课程:"+course2.name+"的索引位置为:"+ coursesToSelect.indexOf(course2)); } } public void creatStudentAndSelect() { //创建一个学生对象 student = new StudentsClass("1","小明"); System.out.println("欢迎学生:"+student.name+"选课!"); //从键盘输入课程 Scanner console = new Scanner(System.in); for(int i = 0;i<3;i++) { System.out.println("请输入课程ID"); String courseId = console.next(); for(CourseClass cr :coursesToSelect) { if(cr.id.equals(courseId)) { student.courses.add(cr); student.courses.add(null); student.courses.add(cr); } } } } //测试Set的contains方法 public void testSetContains() { System.out.println("请输入学生已选的课程名:"); String name = console.next(); CourseClass course2 = new CourseClass(); course2.name = name; System.out.println("新创建课程:"+course2.name); System.out.println("备选课程是否包含课程:"+course2.name+"," +student.courses.contains(course2)); } public static void main(String[] args) { // TODO Auto-generated method stub SetTest st = new SetTest(); st.testAdd(); st.testForEach(); st.testListContains();// st.creatStudentAndSelect();// st.testSetContains(); }} 5、利用Map进行增加,删除,查询,修改操作
package 学生管理系统; import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Scanner;import java.util.Set; public class MapTest { public Mapstudents; //利用哈希键值对进行创建 public MapTest() { this.students = new HashMap();} //进行学生的插入操作 public void testPut() { Scanner console = new Scanner (System.in); int i = 0; while(i<3) { System.out.println("请输入学生ID:"); String ID = console.next(); StudentsClass st = students.get(ID); if(st == null) { System.out.println("请输入学生姓名:"); String name = console.next(); StudentsClass newStudent = new StudentsClass(ID,name); students.put(ID,newStudent); System.out.println("成功添加学生:"+students.get(ID).name); i++; }else { System.out.println("该学生ID已经被占用!"); continue; } } } //利用keyset方法将key值放在一个集合中,然后利用key值进行遍历 public void testKeySet() { SetkeySet = students.keySet(); //进行遍历 for(String stuID:keySet) { StudentsClass st = students.get(stuID); if(st != null) { System.out.println("学生:"+st.name); } } } //进行删除操作 public void testRmove() { Scanner console = new Scanner(System.in); while(true) { System.out.println("请输入要删除的学生ID!"); String ID = console.next(); StudentsClass st = students.get(ID); if(st == null) { System.out.println("该ID不存在!"); continue; } students.remove(ID); System.out.println("成功删除学生:"+st.name); break; }} //通过entryset来遍历Map public void testEntrySet() { Set>entrySet = students.entrySet(); for(Entry entry:entrySet) { System.out.println("取得键:"+entry.getKey()); System.out.println("对应的值为:"+entry.getValue().name); } } //进行修改操作 public void testModify() { System.out.println("请输入要修改的学生ID:"); Scanner console = new Scanner(System.in); while(true) { String stuID = console.next(); StudentsClass student = students.get(stuID); if(student == null) { System.out.println("该ID不存在!请重新输入!"); continue; } System.out.println("当前学生ID,所对应的学生为:"+student.name); System.out.println("请输入新的学生姓名:"); String name = console.next(); StudentsClass newStudent = new StudentsClass(stuID,name); students.put(stuID,newStudent); System.out.println("修改成功"); } } //通过键值或值进行查询操作 public void testContainsKeyOrValue() { System.out.println("请输入要查询的学生ID:"); Scanner console = new Scanner(System.in); String id = console.next(); System.out.println("您输入的学生ID为:"+id+"在学生映射表中是否存在:"+ students.containsKey(id) ); if(students.containsKey(id)) { System.out.println("对应的学生为:"+students.get(id).name); } System.out.println("请输入要查询的学生姓名:"); String name = console.next(); if(students.containsValue(new StudentsClass(null,name))) System.out.println("在学生映射表中确实包含学生:"+name); else System.out.println("在学生映射表中不存在该学生"); } public static void main(String[] args) { // TODO Auto-generated method stub MapTest mt = new MapTest(); mt.testPut(); mt.testKeySet();// mt.testRmove();// mt.testEntrySet();// mt.testModify();// mt.testEntrySet(); mt.testContainsKeyOrValue(); }} 6、进行重载比较
package 学生管理系统; import java.util.Comparator; public class StudentComparator implements Comparator { @Override public int compare(StudentsClass o1, StudentsClass o2) { // TODO Auto-generated method stub return o1.name.compareTo(o2.name); } }
7、进行排序操作
package 学生管理系统; import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Random; public class CollectionTest { //利用Collection内部方法进行排序操作 public void testSort1() { //进行整形排序 ListintergerList = new ArrayList(); Random random = new Random(); Integer k; for(int i = 0;i < 10; i++) { do { k = random.nextInt(100); }while(intergerList.contains(k)); intergerList.add(k); System.out.println("成功添加整数:"+k); System.out.println("--------排序前-------"); for(Integer integer:intergerList) { System.out.println("元素:"+integer); } Collections.sort(intergerList); System.out.println("--------排序后-------"); for(Integer integer:intergerList) System.out.println("元素:"+integer); } } //进行String排序 public void testSort2() { ListstringList = new ArrayList(); stringList.add("microsoft"); stringList.add("google"); stringList.add("lenovo"); System.out.println("--------排序前-------"); for(String string : stringList) { System.out.println("元素:"+string); } Collections.sort(stringList); System.out.println("--------排序后-------"); for(String string : stringList) { System.out.println("元素:"+string); } } //对StudentsClass类进行排序,这里就需要进行equal和hashcode的重载 public void testSort3() { ListStudentList = new ArrayList(); Random random = new Random(); StudentList.add(new StudentsClass(random.nextInt(1000)+"","mike")); StudentList.add(new StudentsClass(random.nextInt(1000)+"","lucy")); StudentList.add(new StudentsClass(random.nextInt(1000)+"","angel")); System.out.println("--------排序前-------"); for(StudentsClass student:StudentList) { System.out.println("学生:"+student.id+student.name); } Collections.sort(StudentList); System.out.println("--------排序后-------"); for(StudentsClass student:StudentList) { System.out.println("学生:"+student.id+student.name); } Collections.sort(StudentList,new StudentComparator()); System.out.println("----------按照姓名排序----------"); for(StudentsClass student:StudentList) { System.out.println("学生:"+student.id+student.name); } } public static void main(String[] args) { // TODO Auto-generated method stub CollectionTest ct = new CollectionTest(); //ct.testSort1(); //ct.testSort2(); ct.testSort3(); } } 8、辅助类。
package 学生管理系统; public class ChildCourse extends CourseClass { }感谢各位的阅读!关于"Java怎么实现简易学籍管理系统"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
课程
学生
输入
管理系统
系统
管理
排序
成功
类型
对象
查询
方法
位置
元素
姓名
数学
索引
语言
内容
型化
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
西安纸贵互联网科技有限公司
互联网科技官网
互联网中国科技
中资互联网科技
互联网与新科技
互联网科技网站
互联网科技公司做什么
四个字互联网科技公司取名
深圳卡尔迅互联网科技有限公司怎么样
互联网时代科技改变生活
广州恒生互联网科技有限
互联网经济与金融科技
互联网保险科技创业
互联网科技如何创业
电子商务与互联网科技的关系
广州互联网高科技取餐柜
广州有谷有贝互联网科技有限公司
互联网领先科技活动
互联网科技收购价值
保山互联网科技靠谱吗
瑰夏咖啡
广州淘业互联网络科技
科技平台互联网
盈实互联网科技
青岛互联网科技公司
互联网科技有哪些公司
互联网领先科技活动
福仕德教育科技互联网
平安好医生打造互联网科技医疗
互联网科技自媒体灵感