java学生选课系统_java实现学生选课系统
本文为大家分享了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实现学生选课系统相关推荐
- java开源b2b2c商城系统_java开源b2b2c商城系统有好用的吗?
java语言是许多商家选择b2b2c商城系统都会考虑的语言之一,因为这种语言开发出来的商城系统会更加安全稳定.开源商城系统一般都以价格实惠受到商家欢迎,所以java开源商城系统也受到关注.那么java ...
- java 源码 股票_java+实时股票报价系统源代码+NeatBeans java的股票系统 - 下载 - 搜珍网...
实时股票报价系统\.classpath 实时股票报价系统\.project 实时股票报价系统\bin\lab_06\MyUtil.class 实时股票报价系统\bin\lab_06\Stock.cla ...
- java网络文章博客抓取系统_java 后端博客系统文章系统——No3
工具 IDE为idea16* JDK环境为1.8 gradle构建,版本:2.14.1 Mysql版本为5.5.27 Tomcat版本为7.0.52 流程图绘制(xmind) 建模分析软件PowerD ...
- java选课系统_java实现学生选课系统
本文为大家分享了java实现学生选课系统的具体代码,供大家参考,具体内容如下 案例要求: 学生(学号,姓名,专业,所选课程{<3}) 老师(工号,姓名,所教课程{<3}) 课程(课程号,课 ...
- java简单系统_Java简单学生管理系统
Java简单学生管理系统 这个不需要手动输入,笔记记录 //student` public class student(){ private String id;//学号 private String ...
- java写的学生信息查询系统_Java编写学生信息查询系统,报错!!!
在窗口ClientFrame中有一个窗格,Newstudentinfo和Selectstudentinfo独立运行都没问题,但是在ClientFrame中只运行Selectstudentinfo,录入 ...
- java成绩管理系统毕业论文_java web学生成绩管理系统,可作为java毕业论文
项目描述 这是有利于大学生毕业论文参考的java项目<学生成绩管理系统> 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师的功能有:管 ...
- java web信息管理系统_Java web学生信息管理系统
[实例简介] 基于Jsp&servlet;+JavaBean的学生信息管理系统,实现了学生成绩.课程.教师的管理 [实例截图] [核心代码] Javaweb学生信息管理系统 └── Java ...
- java 点餐界面_Java小项目点餐系统(二)之服务端 | 学步园
服务端详解: 服务端的主要功能就是无限监听一个端口号,对客户端发来的连接请求给予回应,然后开辟新线程处理客户端.界面做的比较简单就是显示在线的用户,分为商家和学生. 一.监听客户端的socket连接请 ...
- java io系统_java中的io系统详解
Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java 内用 U ...
最新文章
- 谈谈弹性Web托管的“弹性”
- Visual Stdio VS 错误 error : 0xC00000FD: Stack overflow. 更改堆栈空间解决栈溢出问题
- MXNET:深度学习计算-GPU
- 整合分页pageHelper||整合分页pageHelper-starter不用做任何分页相关的配置
- OpenCASCADE:使用 扩展数据交换XDE之入门
- 【Linux系统编程】POSIX无名信号量
- .Net 内存对象分析
- 计算机控制系统的试题,计算机控制系统练习题(1)
- 35岁成MIT终身教授!北大数学“黄金一代”再获大奖
- css animation 触发,在JavaScript中触发CSS动画
- java 字符串倍_java字符串拼接与性能分析详解
- XNA 3.1 转换到 XNA4.0 的备忘录
- 水往地处流,人往地处走
- C++编写的常用软件(找找方向)
- 误差函数erf的数值计算方法
- wavin flag by k'naan
- java-jar基础应用
- 青龙-今日头条极速版更新
- 网盘修复版新增qq支付仿城通网盘115网盘源码下载
- 怎样用万用表检测贴片三极管