java--利用集合List和Set实现简易版学生选课系统




//创建学生类

import java.util.HashSet;
import java.util.Set;


public class student {
 String id;        //学号
 String sname;     //学生姓名
 public Set courses;   //学生备选课程属性(添加泛型)
 public student(String id,String sname){
  this.id=id;
  this.sname=sname;
  this.courses=new HashSet();   //初始化courses属性,将其构造为HashSet类型(实例化);
 }

}


//创建课程类
public class course {
 String id;      //课程号
 String cname;   //课程名
 public course(String id,String cname){
  this.id=id;
  this.cname=cname;
  //重写course类的构造方法,并且传入参数
}
}


//实现待选课程的Set集合类

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class SetTest {

 public List coursesToSelect;
 private static Scanner scanner;
 

//初始化coursesToselect属性
 public SetTest(){
  coursesToSelect=new ArrayList();
 }
 

//实现添加课程方法
 public void add(){
   course c1=new course("1","数据结构");
   coursesToSelect.add(c1);
   course c2=new course("2","c语言");
   coursesToSelect.add(c2);;
   course []c3 ={new course("3","大学英语"),new course("4","高等数学")};
   coursesToSelect.addAll(Arrays.asList(c3));
   course []c4 ={new course("5","离散学"),new course("6","大学物理")};
   coursesToSelect.addAll(Arrays.asList(c4));
 }


//打印待选课程
 public void testForeachForSet(){
  
        System.out.println("有如下课程待选:"+"(通过foreach访问)");
        for(course obj:coursesToSelect)
           System.out.println("课程:"+obj.id+"  "+obj.cname);
       }


//实例化
 public static void main(String[] args) {
  SetTest st=new SetTest();
  st.add();
  st.testForeachForSet();
        student s1=new student("1","xhg");
        System.out.println("欢迎学生"+s1.sname+"选课!");
        scanner = new Scanner(System.in);
        for(int i=0;i<3;i++){
         System.out.print("请输入课程号:");
         String courseid=scanner.next();
         for(course cr:st.coursesToSelect){
          if(cr.id.equals(courseid))
           s1.courses.add(cr);
         }
        }
        for(course cr:s1.courses){
        System.out.println("选择了课程:"+cr.id+"  "+cr.cname);
        }
 }

}


测试结果如下图:


你可能感兴趣的:(java--利用集合List和Set实现简易版学生选课系统)