本文为大家分享了java实现学生选课系统的具体代码,供大家参考,具体内容如下

案例要求:

学生(学号,姓名,专业,所选课程{<3})

老师(工号,姓名,所教课程{<3})

课程(课程号,课程名,学分,教师,已选课学生{<30})

选课系统代码如下:

//teacher

public class Teacher {

private int id;

private String teacherName;

private Course[] courses;

//构造函数

public Teacher() {

super();

courses= new Course[3];

}

public Teacher(int id,String teacherName){

this.id=id;

this.teacherName=teacherName;

courses = new Course[3];

}

//修改或是添加属性

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getTeacherName() {

return teacherName;

}

public void setTeacherName(String teacherName) {

this.teacherName = teacherName;

}

}

/**

* 课程

*/

public class Course {

private String courseName;

private int courseId;

private Teacher teacher;

private float credit;

private Student[] students;

//构造函数

public Course(int courseId,String courseName,float credit,Teacher teacher) {

super();

this.courseId=courseId;

this.courseName=courseName;

this.credit=credit;

this.setTeacher(teacher);

students = new Student[30];

}

public Course(int courseId,String courseName,float credit) {

super();

this.courseId=courseId;

this.courseName=courseName;

this.credit=credit;

students = new Student[30];

}

public Course(int courseId,String courseName) {

super();

this.courseId=courseId;

this.courseName=courseName;

students = new Student[30];

}

public Course() {//默认形式,要有以防万一

super();

students = new Student[30];

}

//修改或获取属性值id,name,credit,

public void setId(int id){

this.courseId=id;

}

public int getId(){

return this.courseId;

}

public void setName(String name){

this.courseName=name;

}

public String getName(){

return this.courseName;

}

public void setCredit(float credit ){

this.credit=credit;

}

public float getCredit(){

return this.credit;

}

public Teacher getTeacher() {

return teacher;

}

public void setTeacher(Teacher teacher) {

this.teacher = teacher;

}

//课加入学生

public boolean addStudent(Student stu){

boolean flag = false;//标志值:是否加入成功

//如果学生没有选过这门课,同时课的学生还没满则执行

if(!isSelectedStudent(stu)&&isNullStudent(stu)){

for(int i=0;i

if(students[i]==null){

students[i]=stu;

flag=true;

break;

}

}

}

return flag;

}

//课移除学生

public boolean removeStudent(Student stu){

boolean flag=false;

if(isSelectedStudent(stu)){//选过这门课

for(int i=0;i

if(students[i]==stu){

students[i]=null;

flag=true;

break;

}

}

}

return flag;

}

//显示选择课程的学生:

public void displayStudent(){

System.out.println("选择的课程:"+this.courseName+"的学生有:");

for(Student s:students){

if(s!=null){

System.out.print(s.getStuName()+" ");

}

}

System.out.println();

}

//子方法1:学生是否选过这门课

public boolean isSelectedStudent(Student stu){

boolean flag=false;

for(Student s:students){//只能用于检查,不能修改

if(s==stu){

flag=true;

break;

}

}

return flag;

}

//子方法2:学科学生未达到限定人数吗

public boolean isNullStudent(Student stu){

boolean flag=false;

for(Student s:students){

if(s==null){//还有空位

flag=true;

break;

}

}

return flag;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

}

}

/**

* 学生代码

* @author Floris0811

*/

public class Student {

private String stuName;

private int stuId;

private String major;

private Course[] courses;

//构造函数

public Student() {//不要忘

super();

courses = new Course[3];

}

public Student(int stuId,String stuName) {

super();

this.stuId=stuId;

this.stuName=stuName;

courses = new Course[3];

}

public Student(int stuId,String stuName,String major) {

super();

this.stuId=stuId;

this.stuName=stuName;

this.major = major;

courses = new Course[3];

}

//修改获取属性name,id,major

public String getStuName() {

return stuName;

}

public void setStuName(String stuName) {

this.stuName = stuName;

}

public int getStuId() {

return stuId;

}

public void setStuId(int stuId) {

this.stuId = stuId;

}

public String getMajor() {

return major;

}

public void setMajor(String major) {

this.major = major;

}

//学生选课;

public boolean addCourse(Course course){

boolean flag=false;

if(!isSelectedCourse(course)&&isNullCourse(course)){

for(int i=0;i

if(courses[i]==null){

courses[i]=course;

course.addStudent(this);//课程也要添加学生

flag=true;

break;

}

}

}

return flag;

}

//学生移除课程

public boolean removeCourse(Course course){

boolean flag=false;

if(isSelectedCourse(course)){

for(int i=0;i

if(courses[i]==course){

courses[i]=null;

course.removeStudent(this);//在课程中移除学生

flag=true;

break;

}

}

}

return flag;

}

//显示学生所选的课程

public void displayCourse(){

System.out.println("学生"+this.stuName+"所选课程有:");

for(Course c:courses){

if(c!=null){

System.out.print(c.getName()+" ");

}

}

System.out.println();

}

//子方法1:课是否被选过

public boolean isSelectedCourse(Course course){

boolean flag=false;

for(Course c:courses){

if(c==course){

flag=true;

break;

}

}

return flag;

}

//子方法2:学生是否还有选修课位置

public boolean isNullCourse(Course course){

boolean flag=false;

for(Course c:courses){

if(c==null){

flag=true;

break;

}

}

return flag;

}

}

package test;

public class ChooseCourseByStu {

/**

* 选课管理系统

*/

public static void main(String[] args) {

Student stu0 = new Student(1001,"Lily");

Student stu1 = new Student(1002,"Eilly");

Student stu2 = new Student(1003,"Floris");

Student stu3 = new Student(1004,"HaHa");

Course cour0 = new Course(001,"高数");

Course cour1 = new Course(002,"线代");

Course cour2 = new Course(003,"概率论");

stu0.addCourse(cour0);

stu0.addCourse(cour2);

stu0.addCourse(cour1);

stu1.addCourse(cour2);

stu1.addCourse(cour0);

stu2.addCourse(cour1);

stu3.addCourse(cour0);

stu3.addCourse(cour1);

stu1.removeCourse(cour2);

stu0.displayCourse();

cour0.removeStudent(stu1);

cour1.displayStudent();

}

}

关于管理系统的更多内容请点击《管理系统专题》进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java学生选课系统_java实现学生选课系统相关推荐

  1. java开源b2b2c商城系统_java开源b2b2c商城系统有好用的吗?

    java语言是许多商家选择b2b2c商城系统都会考虑的语言之一,因为这种语言开发出来的商城系统会更加安全稳定.开源商城系统一般都以价格实惠受到商家欢迎,所以java开源商城系统也受到关注.那么java ...

  2. java 源码 股票_java+实时股票报价系统源代码+NeatBeans java的股票系统 - 下载 - 搜珍网...

    实时股票报价系统\.classpath 实时股票报价系统\.project 实时股票报价系统\bin\lab_06\MyUtil.class 实时股票报价系统\bin\lab_06\Stock.cla ...

  3. java网络文章博客抓取系统_java 后端博客系统文章系统——No3

    工具 IDE为idea16* JDK环境为1.8 gradle构建,版本:2.14.1 Mysql版本为5.5.27 Tomcat版本为7.0.52 流程图绘制(xmind) 建模分析软件PowerD ...

  4. java选课系统_java实现学生选课系统

    本文为大家分享了java实现学生选课系统的具体代码,供大家参考,具体内容如下 案例要求: 学生(学号,姓名,专业,所选课程{<3}) 老师(工号,姓名,所教课程{<3}) 课程(课程号,课 ...

  5. java简单系统_Java简单学生管理系统

    Java简单学生管理系统 这个不需要手动输入,笔记记录 //student` public class student(){ private String id;//学号 private String ...

  6. java写的学生信息查询系统_Java编写学生信息查询系统,报错!!!

    在窗口ClientFrame中有一个窗格,Newstudentinfo和Selectstudentinfo独立运行都没问题,但是在ClientFrame中只运行Selectstudentinfo,录入 ...

  7. java成绩管理系统毕业论文_java web学生成绩管理系统,可作为java毕业论文

    项目描述 ​这是有利于大学生毕业论文参考的java项目<学生成绩管理系统> 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师的功能有:管 ...

  8. java web信息管理系统_Java web学生信息管理系统

    [实例简介] 基于Jsp&servlet;+JavaBean的学生信息管理系统,实现了学生成绩.课程.教师的管理 [实例截图] [核心代码] Javaweb学生信息管理系统 └── Java ...

  9. java 点餐界面_Java小项目点餐系统(二)之服务端 | 学步园

    服务端详解: 服务端的主要功能就是无限监听一个端口号,对客户端发来的连接请求给予回应,然后开辟新线程处理客户端.界面做的比较简单就是显示在线的用户,分为商家和学生. 一.监听客户端的socket连接请 ...

  10. java io系统_java中的io系统详解

    Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java 内用 U ...

最新文章

  1. 谈谈弹性Web托管的“弹性”
  2. Visual Stdio VS 错误 error : 0xC00000FD: Stack overflow. 更改堆栈空间解决栈溢出问题
  3. MXNET:深度学习计算-GPU
  4. 整合分页pageHelper||整合分页pageHelper-starter不用做任何分页相关的配置
  5. OpenCASCADE:使用 扩展数据交换XDE之入门
  6. 【Linux系统编程】POSIX无名信号量
  7. .Net 内存对象分析
  8. 计算机控制系统的试题,计算机控制系统练习题(1)
  9. 35岁成MIT终身教授!北大数学“黄金一代”再获大奖
  10. css animation 触发,在JavaScript中触发CSS动画
  11. java 字符串倍_java字符串拼接与性能分析详解
  12. XNA 3.1 转换到 XNA4.0 的备忘录
  13. 水往地处流,人往地处走
  14. C++编写的常用软件(找找方向)
  15. 误差函数erf的数值计算方法
  16. wavin flag by k'naan
  17. java-jar基础应用
  18. 青龙-今日头条极速版更新
  19. 网盘修复版新增qq支付仿城通网盘115网盘源码下载
  20. 怎样用万用表检测贴片三极管

热门文章

  1. c语言中自定义函数的流程图这么画,c语言流程图怎么画?
  2. 软件测试之Web测试流程和方法
  3. lch 儿童围棋课堂 初级篇2 (李昌镐 著)
  4. vscode 字体太小的问题,安装新字体
  5. ITIL4 服务管理的四个维度
  6. 需求分析,我们应当怎样做
  7. B站ACM算法资源汇总
  8. Easypoi导出excel
  9. JXSE 2.5 : What's Cool #5 -- java.util.concurrent
  10. 充电和库仑计,charge(bq24161) and coulomb(bq27425)