欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實現(xiàn)學(xué)生選課系統(tǒng)

 更新時間:2019年02月20日 08:40:38   作者:跌娣  
這篇文章主要為大家詳細介紹了java實現(xiàn)學(xué)生選課系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家分享了java實現(xiàn)學(xué)生選課系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

案例要求:

學(xué)生(學(xué)號,姓名,專業(yè),所選課程{<3})
老師(工號,姓名,所教課程{<3})
課程(課程號,課程名,學(xué)分,教師,已選課學(xué)生{<30})

選課系統(tǒng)代碼如下:

//teacher

public class Teacher {
 private int id;
 private String teacherName;
 private Course[] courses;
 //構(gòu)造函數(shù)
 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;
 //構(gòu)造函數(shù)
 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;
 }

 //課加入學(xué)生
 public boolean addStudent(Student stu){
  boolean flag = false;//標(biāo)志值:是否加入成功
  //如果學(xué)生沒有選過這門課,同時課的學(xué)生還沒滿則執(zhí)行
  if(!isSelectedStudent(stu)&&isNullStudent(stu)){
   for(int i=0;i<students.length;i++){
    if(students[i]==null){
     students[i]=stu;
     flag=true;
     break;
    }
   }
  }
  return flag;
 }
 //課移除學(xué)生
 public boolean removeStudent(Student stu){
  boolean flag=false;
  if(isSelectedStudent(stu)){//選過這門課
   for(int i=0;i<students.length;i++){
    if(students[i]==stu){
     students[i]=null;
     flag=true;
     break;
    }
   }
  }
  return flag;
 }
 //顯示選擇課程的學(xué)生:
 public void displayStudent(){
  System.out.println("選擇的課程:"+this.courseName+"的學(xué)生有:");
  for(Student s:students){
   if(s!=null){
    System.out.print(s.getStuName()+" ");
   }
  }
  System.out.println();
 }
 //子方法1:學(xué)生是否選過這門課
 public boolean isSelectedStudent(Student stu){
  boolean flag=false;
  for(Student s:students){//只能用于檢查,不能修改
   if(s==stu){
    flag=true;
    break;
   }
  }
  return flag;
 }
 //子方法2:學(xué)科學(xué)生未達到限定人數(shù)嗎
 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

 }


}
/**
 * 學(xué)生代碼
 * @author Floris0811
 */
public class Student {
 private String stuName;
 private int stuId;
 private String major;
 private Course[] courses;
 //構(gòu)造函數(shù)
 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;
 }
 //學(xué)生選課;
 public boolean addCourse(Course course){
  boolean flag=false;
  if(!isSelectedCourse(course)&&isNullCourse(course)){
   for(int i=0;i<this.courses.length;i++){
    if(courses[i]==null){
     courses[i]=course;
     course.addStudent(this);//課程也要添加學(xué)生
     flag=true;
     break;
    }
   }
  }
  return flag;
 }
 //學(xué)生移除課程
 public boolean removeCourse(Course course){
  boolean flag=false;
  if(isSelectedCourse(course)){
   for(int i=0;i<this.courses.length;i++){
    if(courses[i]==course){
     courses[i]=null;
     course.removeStudent(this);//在課程中移除學(xué)生
     flag=true;
     break;
    }
   }

  }
  return flag;
 }
 //顯示學(xué)生所選的課程
 public void displayCourse(){
  System.out.println("學(xué)生"+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:學(xué)生是否還有選修課位置
 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 {

 /**
  * 選課管理系統(tǒng)
  */
 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,"高數(shù)");
  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();
 }

}

關(guān)于管理系統(tǒng)的更多內(nèi)容請點擊《管理系統(tǒng)專題》進行學(xué)習(xí)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java并發(fā)之異步的八種實現(xiàn)方式

    Java并發(fā)之異步的八種實現(xiàn)方式

    本文主要介紹了Java并發(fā)之異步的八種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java中使用BigDecimal進行精確運算

    Java中使用BigDecimal進行精確運算

    這篇文章主要介紹了Java中使用BigDecimal進行精確運算的方法,非常不錯,需要的朋友參考下
    2017-02-02
  • 使用mybatis-plus想要修改某字段為null問題

    使用mybatis-plus想要修改某字段為null問題

    這篇文章主要介紹了使用mybatis-plus想要修改某字段為null問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Java程序打包成帶參數(shù)的jar文件實例代碼

    Java程序打包成帶參數(shù)的jar文件實例代碼

    這篇文章主要介紹了Java程序打包成帶參數(shù)的jar文件實例代碼,需要的朋友可以參考下
    2017-09-09
  • 使用bitset實現(xiàn)毫秒級查詢(實例講解)

    使用bitset實現(xiàn)毫秒級查詢(實例講解)

    下面小編就為大家?guī)硪黄褂胋itset實現(xiàn)毫秒級查詢(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java 反射之私有字段和方法詳細介紹

    Java 反射之私有字段和方法詳細介紹

    本文將介紹Java 反射之私有字段和方法的應(yīng)用,需呀了解的朋友可以參考下
    2012-11-11
  • 最簡單易懂的java數(shù)組排序方法整理

    最簡單易懂的java數(shù)組排序方法整理

    這篇文章主要給大家整理介紹了最簡單易懂的java數(shù)組排序方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python爬蟲 12306搶票開源代碼過程詳解

    Python爬蟲 12306搶票開源代碼過程詳解

    這篇文章主要介紹了Python爬蟲 12306搶票開源代碼過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • java中實體類轉(zhuǎn)Json的2種方法

    java中實體類轉(zhuǎn)Json的2種方法

    本篇文章中主要介紹了java中實體類轉(zhuǎn)Json的2種方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。
    2017-01-01
  • springboot如何使用@ConfigurationProperties封裝配置文件

    springboot如何使用@ConfigurationProperties封裝配置文件

    springboot如何使用@ConfigurationProperties封裝配置文件的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論