使用List框架写一个小的程序(学生选课的增删查改)

来源:互联网 发布:切尔西靴 知乎 编辑:程序博客网 时间:2024/05/27 14:13

本小实验的目的:

通过List框架创建一个小型的学生选课,包括的功能在学生可以进行课程的选择,对课程的增加删除修改操作。

其中包括三个文件分别是课程信息,学生信息,和选课操作。

Course.java

package com;/** * 课程类 * @author 12200 * */public class Course {public String id;public String name;public Course(String i,String name){this.id=i;this.name=name;}public Course(){}}

Student.java

package com;import java.util.Set;import java.util.HashSet;/** * 学生类 * @author 12200 * */public class Student {public String id;public String name;public Set<Course> courses;//选择课程的集合public Student(String id,String name){this.id=id;this.name=name;}}

ListTest.java

package com;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;import java.util.concurrent.SynchronousQueue;public class ListTest {/** * 用于存放备选课程的List * @param args */public List coursesToSelect;//构造函数public ListTest(){this.coursesToSelect=new ArrayList();}/** * 添加课程 * @param args */public void testAdd(){Course sc1=new Course("1","数据结构");coursesToSelect.add(sc1);//取得加入的课程信息Course temp=(Course)coursesToSelect.get(0);System.out.println("添加了课程"+temp.id+":"+temp.name);Course sc2=new Course("2","C语言");coursesToSelect.add(0,sc2);Course tem2=(Course)coursesToSelect.get(0);System.out.println("添加了课程"+tem2.id+":"+tem2.name);coursesToSelect.add(sc1);Course temp0=(Course)coursesToSelect.get(2);System.out.println("添加了课程"+temp0.id+":"+temp0.name);Course[] course2={new Course("3","高等数学"),new Course("4","汇编语言")};coursesToSelect.addAll(Arrays.asList(course2));Course temp3=(Course)coursesToSelect.get(3);Course temp4=(Course)coursesToSelect.get(4);System.out.println("添加了两门课程"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name+";");Course[] course3 = {new Course("5", "高等数学"), new Course("6", "大学英语")};coursesToSelect.addAll(2, Arrays.asList(course3));Course temp5 = (Course) coursesToSelect.get(2);Course temp6 = (Course) coursesToSelect.get(3);System.out.println("添加了两门课程:" + temp5.id + ":" + temp5.name + ";" + temp6.id + ":" + temp6.name);}/** *  * 取得List中的元素 * @param args */public void testGet(){System.out.println("=============");int size=coursesToSelect.size();System.out.println("有如下课程待选");for(int i=0;i<size;i++){Course cr=(Course)coursesToSelect.get(i);System.out.println("课程"+cr.id+":"+cr.name);}}/** * 使用迭代器来遍历 * @param args */public void testIterator(){//通过集合的iterator方法取得迭代器的实例Iterator<Course> it=coursesToSelect.iterator();System.out.println("==========");System.out.println("有如下课程可选(迭代器)");while(it.hasNext()){Course cr=it.next();System.out.println("课程"+cr.id+":"+cr.name);}}/** * 通过foreach方法 * @param args */public void  testForeach(){System.out.println("==========");System.out.println("有如下课程可选(foreach)");for(Object obj:coursesToSelect){Course cr=(Course)obj;System.out.println("课程"+cr.id+":"+cr.name);}}/** * 修改List中的元素 * @param args */public void testModify(){coursesToSelect.set(4, new Course("7", "毛概"));System.out.println("修改成功");}/** * 删除 */public void testRemove(){/*Course cr=(Course)coursesToSelect.get(4);coursesToSelect.remove(cr);*///删除多个System.out.println("即将删除4位置和5位置上的课程");Course[] course={(Course)coursesToSelect.get(4),(Course)coursesToSelect.get(5)};coursesToSelect.removeAll(Arrays.asList(course));System.out.println("删除成功");testForeach();}public static void main(String[] args) {ListTest lt=new ListTest();lt.testAdd();lt.testGet();lt.testIterator();lt.testForeach();lt.testModify();lt.testForeach();lt.testRemove();}}

结果是:

添加了课程1:数据结构
添加了课程2:C语言
添加了课程1:数据结构
添加了两门课程3:高等数学;4:汇编语言;
添加了两门课程:5:高等数学;6:大学英语
=============
有如下课程待选
课程2:C语言
课程1:数据结构
课程5:高等数学
课程6:大学英语
课程1:数据结构
课程3:高等数学
课程4:汇编语言
==========
有如下课程可选(迭代器)
课程2:C语言
课程1:数据结构
课程5:高等数学
课程6:大学英语
课程1:数据结构
课程3:高等数学
课程4:汇编语言
==========
有如下课程可选(foreach)
课程2:C语言
课程1:数据结构
课程5:高等数学
课程6:大学英语
课程1:数据结构
课程3:高等数学
课程4:汇编语言
修改成功
==========
有如下课程可选(foreach)
课程2:C语言
课程1:数据结构
课程5:高等数学
课程6:大学英语
课程7:毛概
课程3:高等数学
课程4:汇编语言
即将删除4位置和5位置上的课程
删除成功
==========
有如下课程可选(foreach)
课程2:C语言
课程1:数据结构
课程5:高等数学
课程6:大学英语
课程4:汇编语言

1 0
原创粉丝点击