非常简单的学生管理系统。
一、代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
package test; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner;; public class testset { public List<course> coursestoselect; public testset() { coursestoselect = new ArrayList<course>(); } public void testadd() { // 用于往coursestoselect中添加备选课程 // 创建一个课程对象,并通过add方法添加到备选课程List中 course cr1 = new course("1", "数据结构"); coursestoselect.add(cr1); course temp = (course) coursestoselect.get(0); System.out.println("添加了课程:"+temp.id+":"+temp.name); course cr2 = new course("2", "java"); coursestoselect.add(1, cr2); course temp2 = (course) coursestoselect.get(1); System.out.println("添加了课程:"+temp2.id+":"+temp2.name); // 以下方法会抛出数组越界异常 // course cr3 = new course("3", "testfuck"); // coursestoselect.add(3,cr3); course[] course = {new course("3", "离散数学"),new course("4", "汇编语言")}; coursestoselect.addAll(Arrays.asList(course)); course temp3 = (test集合.course) coursestoselect.get(2); course temp4 = (test集合.course) coursestoselect.get(3); System.out.println("添加了两门课程:"+temp3.id+":"+temp3.name +";"+temp4.id+":"+temp4.name); course[] course1 = {new course("5", "高等数学"),new course("6", "大学英语")}; coursestoselect.addAll(Arrays.asList(course1)); course temp5 = (test集合.course) coursestoselect.get(4); course temp6 = (test集合.course) coursestoselect.get(5); System.out.println("添加了两门课程:"+temp5.id+":"+temp5.name +";"+temp6.id+":"+temp6.name); } // 通过for each遍历 public void testforeach() { // 定义一个Object类型的变量,coursestoselect是要遍历的集合 // 去遍历集合中的每一个元素,把它取出来,作为Object的一个变量 System.out.println("有如下课程待选(通过for each方法):"); for(Object obj:coursestoselect) { course cr = (course) obj; System.out.println("课程:"+cr.id+":"+cr.name); } } // 循环遍历 public void testforeach2() { for(course c:coursestoselect) { System.out.println("课程:"+c.id+":"+c.name); } } public void testforeachfortest(student stu) { // 打印输出学生所选的课程 System.out.println("一共选择了:"+student.courses.size()+"门课程。"); for(course cr:student.courses) { System.out.println("选择了课程:"+cr.id+":"+cr.name); } } public static void main(String[] args) { testset t = new testset(); t.testadd(); t.testforeach(); System.out.println("////////////////////////////"); t.testforeach2(); student stu = new student("1", "菊花宝"); System.out.println("欢迎"+stu.id+"号学生: "+stu.name+" 同学选课!"); // 创建一个scanner对象用于接受从键盘输入的id Scanner console = new Scanner(System.in); for (int i = 0; i < 3; i++) { System.out.println("请输入课程的id:"); String courseid = console.next(); // 注意这里的格式变换,为什么要用String? // 因为之前的cr.id是course类型里的id是string类型,所以要用equals方法 for(course cr:t.coursestoselect) { if (cr.id.equals(courseid)) { student.courses.add(cr); student.courses.add(cr); // 这里明明怼进去了两次,本来应该是6个course类型数据才对啊? // 就是为了测试不可重复性 // set中元素无序不可按具体位置查找,也不能重复 // 但是list中就不同了,不但可以按具体位置查找,还可以重复哦 } } } t.testforeachfortest(stu); } } |
很简单的基于集合的学生管理系统,实现了一些基本的功能。
二、总结
记录一下。