温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java怎么实现简易学籍管理系统

发布时间:2022-02-28 09:16:38 来源:亿速云 阅读:174 作者:小新 栏目:开发技术

这篇文章给大家分享的是有关Java怎么实现简易学籍管理系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体内容如下

1、我们先来讲讲什么是泛型化编程

package 学生管理系统;   import java.util.ArrayList; import java.util.List;   /*  * 进行泛型化编程  * @autor:pcb  * */ public class TestGeneric {     //进行泛型化编程,规定类型。     public List <CourseClass> courses;     public TestGeneric() {         this.courses = new ArrayList<CourseClass>();     }     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<Integer> list = new ArrayList<Integer>();         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 <StudentsClass> {     public String id;     public String name;          public Set<CourseClass> courses;          public StudentsClass(String id,String name){         this.id=id;         this.name=name;         this.courses=new HashSet<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 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;i<size;i++) {                 //进行强制类型转化                 CourseClass cr = (CourseClass)coursesToSelect.get(i);                 System.out.println("课程"+i+":"+cr.id+":"+cr.name);             }         }         //迭代器输入方法         public void testIterator() {             Iterator it = coursesToSelect.iterator();             System.out.println("可选择的课程(通过迭代器访问):");             while(it.hasNext()) {                 CourseClass cr  = (CourseClass) it.next();                 System.out.println("课程"+":"+cr.id+":"+cr.name);             }                          }         //利用foreach语句进行遍历         public void testForEach() {             System.out.println("可选择的课程(通过FOREACH访问):");             for(Object obj:coursesToSelect) {                 CourseClass cr  = (CourseClass) obj;                 System.out.println("课程"+":"+cr.id+":"+cr.name);             }         }         //进行修改操作         public void testModify() {             coursesToSelect.set(4, new CourseClass("7","毛概"));         }         //利用对象进行删除操作         public void testRmove1() {             System.out.println("通过对象进行删除");             CourseClass cr = (CourseClass) coursesToSelect.get(4);             System.out.println("我是课程:"+cr.id+":"+cr.name);             coursesToSelect.remove(cr);             System.out.println("成功删除课程!!");             testForEach();         }         //利用索引值进行删除操作         public void testRmove2() { //            CourseClass cr = (CourseClass) coursesToSelect.get(4); //            System.out.println("我是课程:"+cr.id+":"+cr.name);             System.out.println("通过索引值进行删除");             coursesToSelect.remove(4);             System.out.println("成功删除课程!!");             testForEach();         }         //进行删除,删除多位置的方法操作         public void testRmove3() {             System.out.println("删除4位置和5位置的课程");             CourseClass [] Course={(CourseClass) coursesToSelect.get(4),(CourseClass) coursesToSelect.get(5)};             //将Course数组转化成一个集合传递进去             coursesToSelect.removeAll(Arrays.asList(Course));             System.out.println("成功删除课程!!");             testForEach();             }     public static void main(String[] args) {         ListTest it = new ListTest();         it.testAdd();         it.test();         //it.testIterator();         //it.testForEach();         //it.testModify();         //it.testForEach();         //it.testRmove2();         it.testRmove3();     } }

4、利用set集合进行删除,添加,查询操作

package 学生管理系统;   import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner;   public class SetTest {     //创建     public List <CourseClass> coursesToSelect;     //向屏幕读取     private Scanner console;          public StudentsClass student;     //进行构造     public SetTest() {         coursesToSelect = new ArrayList<CourseClass>();         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 Map<String,StudentsClass>students;     //利用哈希键值对进行创建     public MapTest() {     this.students = new HashMap<String,StudentsClass>(); }     //进行学生的插入操作      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() {          Set<String>keySet = 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<Entry<String,StudentsClass>>entrySet = students.entrySet();         for(Entry<String,StudentsClass> 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<StudentsClass> {       @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() {         //进行整形排序         List<Integer>intergerList = new ArrayList<Integer>();         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() {         List<String>stringList = new ArrayList<String>();         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() {         List<StudentsClass>StudentList = new ArrayList<StudentsClass>();         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怎么实现简易学籍管理系统”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI