学生选课-集合案例

来源:互联网 发布:python特点 编辑:程序博客网 时间:2024/05/16 17:52
package Xuanke;import java.util.List;/**    Student学生类,属性:学号(String)、姓名(String)、性别(char)、所选课程(List);    Course课程类,属性:课程编号(String)、课程名称(String)、授课老师(String);    要求:    * 进入程序提示:1、添加学生;2、查看学生信息;0、退出;    * 学生的课程信息存在学生的“所选课程”的属性中;    * 每个学生都至少要选择3门课程(至少选3次);    * 用户选择查看学生信息时,展示所有学生的所有信息; */public class Student {    private String ID;    private String name;    private char sex;    private List<Course> kc;//泛型,规定集合中只存Course这一种对象    public String getID() {        return ID;    }    public void setID(String iD) {        ID = iD;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public char getSex() {        return sex;    }    public void setSex(char sex) {        this.sex = sex;    }    public List<Course> getKc() {        return kc;    }    public void setKc(List<Course> kc) {        this.kc = kc;    }    @Override    public String toString() {        return "学生信息:\n学号:" + ID + ", 姓名:" + name + ", 性别:" + sex ;    }}
package Xuanke;public class Course {    private String id;    private String name;    private String techer;    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getname() {        return name;    }    public void setname(String name) {        this.name = name;    }    public String getTecher() {        return techer;    }    public void setTecher(String techer) {        this.techer = techer;    }    public Course(String id,String name,String techer){        super();        this.id=id;        this.name=name;        this.techer=techer;    }}
package Xuanke;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Scanner;public class Test {    private static Scanner sc=new Scanner(System.in);//全局的输入方法在main函数以外    private static List<Student> stuList=new ArrayList<Student>();//创建一个集合只存Student这个对象    private static List<Course> kcList=new ArrayList<Course>();//创建一个集合只存Course这个对象    public static void main(String[] args) {        boolean b=true;        addKC();        while(b){            System.out.println("请选择:1、添加学生;2、查看学生信息;0、退出;");            int xz=sc.nextInt();            switch(xz){            case 1:                addStu();                break;            case 2:                findStu();                break;            case 0:                b=false;            }        }    }    //创建一个添加学生信息的方法    public static void addStu(){        Student stu=new Student();        //以当前日期时间为依据生成学生学号ID        String id=new SimpleDateFormat("yyyyMMddHHmmssSS").format(new Date());        stu.setID(id);        //获得学生姓名        System.out.println("请输入学生姓名:\n");        String name=sc.next();        stu.setName(name);        // 获得学生性别        System.out.println("请选择性别:1、男生;2、女生");        int i = sc.nextInt();        char sex = '男';        if(i==2){            sex = '女';        }        stu.setSex(sex);        //获得学生所选课程        List<Course> xkList=new ArrayList<Course>();        int xk=sc.nextInt()-1;        System.out.println(xk);        boolean b=true;        while(b){            System.out.println("请根据课程ID选择以下课程,输入0退出选课:");            findKC();            if(xk<0){                if(xkList.size()<3){                    System.out.println("至少选三门课程");                    continue;                }else{                    break;                }            }            else{                xkList.add(kcList.get(xk));//获取下标对应的集合元素对象            }        }        stu.setKc(xkList);        stuList.add(stu);    }    public static void findStu(){        for (Student stu : stuList) {            System.out.println(stu);            System.out.println(stu.getName()+"所选的课程有:");            for(Course c : stu.getKc()){                System.out.print(c.getId()+"、"+c.getname()+",任课老师:"+c.getTecher()+";");            }            System.out.println();        }        System.out.println();    }    // 添加课程的方法        public static void addKC(){            kcList.add(new Course("1", "语文", "宋小宝"));            kcList.add(new Course("2", "数学", "小沈阳"));            kcList.add(new Course("3", "英语", "赵四"));            kcList.add(new Course("4", "物理", "刘能"));            kcList.add(new Course("5", "化学", "刘德华"));            kcList.add(new Course("6", "生物", "郭德纲"));            kcList.add(new Course("7", "政治", "岳云鹏"));            kcList.add(new Course("8", "历史", "于谦"));            kcList.add(new Course("9", "地理", "柳岩"));        }        public static void findKC(){            for (Course c : kcList) {                System.out.print(c.getId()+"、"+c.getname()+";"+c.getTecher());            }            System.out.println();        }       }
0 0
原创粉丝点击