您的位置:首页 > 编程语言 > Java开发

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

2016-11-10 21:59 483 查看


//创建学生类

import java.util.HashSet;

import java.util.Set;

public class student {

 String id;        //学号

 String sname;     //学生姓名

 public Set<course> courses;   //学生备选课程属性(添加泛型)

 public student(String id,String sname){

  this.id=id;

  this.sname=sname;

  this.courses=new HashSet<course>();   //初始化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<course> coursesToSelect;

 private static Scanner scanner;

 

//初始化coursesToselect属性

 public SetTest(){

  coursesToSelect=new ArrayList<course>();

 }

 

//实现添加课程方法

 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);

        }

 }

}

测试结果如下图:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: