使用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
- 使用List框架写一个小的程序(学生选课的增删查改)
- SSH框架搭建(附带,框架写的标准的三层架构小程序,实现简单的登陆校验,增删改查功能)
- 框架hibernate的使用(数据库增删改查、hql)
- 利用List集合写员工信息的增删改查
- Spring MVC (6) spring MVC 写一个增删改查的小项目
- 分享一个自己写的MVC+EF “增删改查” 无刷新分页程序
- javaweb的一个增删查改的小案例
- 使用Hibernate框架向MySql数据库中增删改查的开发流程小例
- 使用List接口实现对数据的增删改查
- Sqlite的使用(增删改查)
- DButils的使用(增删改查)
- 一个使用Pro*C实现增删改查的小例子
- 一个使用Pro*C实现增删改查的小例子
- 学生管理系统,实现学生的增删改查
- 使用MyBatis框架进行数据库的增删改查操作
- 【mfc】学生信息管理,实现List控件节点的增删改查
- javaweb的一个增删查改的小案例(续)
- 一个使用ibatis对数据库增删改查的例子
- 数字证书和域名的对应关系
- DUTCTF 201x RE20
- java 导入导出Excel工具类ExcelUtil
- 基于RBAC用户权限控制的校验
- 剑指offer: 二叉搜索树的后序遍历序列
- 使用List框架写一个小的程序(学生选课的增删查改)
- 黑客可用一个URL劫持Ubiquiti无线网络设备
- linux socket 封装HTTP请求数据
- JDBC小结
- java抽象类和接口
- socket包长度问题: send recieve(转载)
- L1-032 Left-pad
- 某道Pwn(格式化字符串漏洞)
- .tar.lz压缩包解压