学生选课-集合案例
来源:互联网 发布: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
- 学生选课-集合案例
- 模拟学生选课系统
- 学生选课数据管理系统
- 学生选课系统
- 学生选课系统
- 学生选课数据库设计
- 学生选课系统设计
- MFC学生选课系统
- 学生选课Pro
- 打印学生选课清单
- 学生选课系统
- mysql学生选课
- java--利用集合List和Set实现简易版学生选课系统
- 求学生选课系统代码~~~
- 学生选课系统pb课程设计
- 学生选课建表应用
- C语言学生选课系统
- 关于学生选课的实现
- java实现导出Excel(跨行,跨列)
- AngularJS 核心特性
- 整点刷新
- Gradle常用配置
- 第十一章:持有对象(下)
- 学生选课-集合案例
- 常用颜色
- WAMP3.0允许局域网访问
- 欢迎使用CSDN-markdown编辑器
- nikon 协议
- 深入理解Java虚拟机 二、JVM垃圾收集算法与垃圾收集器
- C++头文件的三种标准
- 线程池
- ATSC和DVB数字电视系统的比较