本文为大家分享了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. IDEA+Java+Servlet+JSP+Mysql实现学生选课签到系统

    一.系统介绍 1.开发环境 开发工具:IDEA2018 JDK版本:jdk1.8 Mysql版本:8.0.13 2.技术选型 Java+Servlet+Boostrap+Jsp+Mysql 3.系统功 ...

  2. 基于JAVA+Servlet+JSP+MYSQL的学生选课系统

    项目功能: <学生选课系统>,本系统有三种角色,分别为管理员.老师.学生.每种角色可以登录系统,操作的功能也不一样.总体功能模块如下: 个人信息管理 学生信息管理 课程排名 学生成绩分析 ...

  3. html学生选课系统源码,学生选课系统

    [实例简介] 用SSM框架写的学生选课系统,学生查看选课情况,选课,退选,修改信息,教师可以查看自己所教课程,查看所教课程学生信息等 [实例截图] [核心代码] ssm_student └── ssm ...

  4. 用c语言实现mfc系统,MFC实现学生选课系统

    本文实例为大家分享了MFC实现学生选课系统的具体代码,供大家参考,具体内容如下 先上效果图: 主要功能: 输入学号,从数据库中查找学号,若找到相匹配的学号,则显示数据库中姓名.学历.导师,同时将所有可 ...

  5. HTML学生考勤界面代码,基于jsp的学生考勤系统-JavaEE实现学生考勤系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的学生考勤系统, 该项目可用各类java课程设计大作业中, 学生考勤系统的系统架构分为前后台两部分, 最终实现在线上 ...

  6. Java基础案例3-4:学生投票系统

    [案例3-4]学生投票系统 [案例介绍] 某班级投票竞选班干部,班级学生人数为100人,每个学生只能投一票. 本任务要求,编程实现一个投票程序,每个学生只能投一次票,投票成功提示"感谢你的投 ...

  7. java租车系统_Java实现租车系统的详细过程

    这篇文章主要给大家介绍了利用Java实现一个达达租车系统的步骤,文中给出了详细的实现思路和示例代码,并在文末给出了完整的源码供大家学习下载,需要的朋友可以参考借鉴,下面来一起看看吧. 本文介绍的是利用 ...

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

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

  9. php选课实验成品_php学生选课管理系统

    学生选课管理系统需要完成这些功能:课程管理人员通过该系统可以对以上信息进行查询和维护并对选课进行管理等功能:学生通过该系统可以进行在线选课,包括管理个人信息.个人在线选课.个人成绩查询等功能. 学生选 ...

最新文章

  1. Stephen Wolfram专访Judea Pearl:从贝叶斯网络到元胞自动机
  2. jboss 5.x/6.x 反序列化漏洞 cve-2017-12149
  3. iOS 可能用到的三方框架
  4. 显式(静态)调用: LIB + DLL + .H
  5. php 递归格式化数组,利用php递归实现无限分类 格式化数组的详解
  6. PostgreSQL DBA最常用SQL
  7. 尼奥智能陪伴机器人如何绑定设备_巴巴腾 智能陪护儿童机器人A3,为儿童专业定制的小伙伴...
  8. 【信号与系统】笔记(4-3)拉普拉斯逆变换
  9. ubuntu查看显卡驱动以及其他驱动
  10. 微信小程序或微信网页里关注公众号
  11. springboot admin 解决 client 注册不到 server
  12. 《地球概论》(第3版)笔记 第四章 地球运动的地理意义
  13. 超好看的辅助网站源码
  14. Teamviewer 图文使用教程
  15. 连续8年 远见领跑|山石网科入选Gartner 2021网络防火墙魔力象限
  16. ACM-SIAM离散算法研讨会SODA 2020今日召开
  17. WCF:学习Artech大哥的入门程序
  18. 百度竞价排名SEM介绍
  19. 【人脸识别】HOG特征提取人脸识别【含Matlab源码 641期】
  20. Windows驱动_文件系统微小过滤驱动之一初识MiniFilter

热门文章

  1. stm32滴答计时器_stm32笔记:Systick系统滴答定时器
  2. php mysql 反斜杠_MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义(转)
  3. probe request帧结构_WLAN 无线网络 09 - 管理帧
  4. python 用if判断一个数是不是整数_Python基础教程07-函数和模块的使用
  5. 什么意思_invalid是什么意思
  6. ghelper失效_Ghelper账号+网易云音乐领黑胶会员35天
  7. 【学习笔记】第二章——进程同步、进程互斥、进程互斥的硬件/软件实现方法
  8. 【LeetCode笔记】105. 从前序与中序遍历序列构造二叉树(Java、递归、二叉树、哈希表)
  9. effective python目录_Effective python(七):协作开发
  10. linux .forward,linux forward的实现