1. 程式人生 > >#小案例#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<students.length;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<students.length;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<this.courses.length;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<this.courses.length;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();
    }

}

That’s it! Over~

相關推薦

#案例#Java實現簡單 學生選課系統

案例要求忘記了(大概是……): 學生(學號,姓名,專業,所選課程{<3}) 老師(工號,姓名,所教課程{<3}) 課程(課程號,課程名,學分,教師,已選課學生{<30}) 選課系統程式碼如下: //teacher

【分享】分享一個基於SSH實現簡單學生選課系統(附原始碼)

歡迎關注微信賬號:java那些事:csh624366188.每天一篇java相關的文章 java交流工作群1: 77800592(已滿) java交流學生群2:234897635(已滿) java交流工作群3:94507287 java交流工作群4: 272265434 我的郵箱:

【分享】分享一個基於SSH實現簡單學生選課系統(附源碼)

download 3.2 cor 點擊 小菜 我們 重新 模式窗口 額外 首先聲明:本小項目是因老師而做,主要為了完成老師項目要求,當然也添加了許多老師沒有要求的功能,本項目代碼非常簡單,分享出來時為了和我一樣的小菜鳥共同學習一下,只適合初學者拿來學習,大牛可直接繞過。

用ArrayList<E>實現簡單學生管理系統

package ArrayTest; /* * 用arrayList<E>去實現學生管理系統 */ import java.util.ArrayList; import java.util.Scanner; public class StudentSystemList { //

用ArrayList實現簡單學生管理系統

package ArrayTest; /* * 用arrayList<E>去實現學生管理系統 */ import java.util.ArrayList; import java.util.Scanner; public class StudentSyst

Java 實現簡單的推薦系統

例子: package recommender; import java.util.Arrays; /**  * Created by legotime  */ public class r

簡單學生選課系統之登入介面

圖片 程式碼: checkcode.jsp var code ; //在全域性定義驗證碼 //產生驗證碼 function createCode(){ code = ""; var codeLength = 4;//驗證碼的長度

簡單學生選課系統之學分彙總

ScDao.java public ResultSet selectcredit(){ ResultSet rst=null; Coon coona=new Coo

簡單學生選課系統之功能描述和分析

設計內容:    設計開發一個簡單的“學生選課系統”,並實現基本的選課功能,查詢功能。 主要功能及要求: (1)能夠實現學生基本資訊的錄入、修改、刪除等操作,其中學生資訊包括班號、學號、性別等;  

python實現簡單學生管理系統

使用python實現了一個簡單的學生管理系統,包含註冊,登陸,修改密碼和簡單查詢資訊等簡單功能,後續感興趣可以自己新增上其他資訊或與已有的學生資訊表相關聯。註冊後存入資料庫對應表格中,並對密碼進行加密,表格比較簡單,只有id,姓名,密碼和is_delete四個欄位,程式碼使用

node.js(node.js+mongoose案例)_實現簡單的註冊登錄退出

搭建 temp for ssi return nic -a cnpm gis 一、前言 通過node.js基本

java--利用集合List和Set實現簡易版學生選課系統

 //建立學生類 import java.util.HashSet; import java.util.Set; public class student {  String id;        //學號  String sname;     //學生姓名  pu

javaGUI案例--t31_student簡單學生管理系統

  本篇,我們來繼續學習和鞏固下swing+Jdbc。 為此,筆者開發了一個新的案例——t31_student學生管理系統,實現了基本的curd及模糊查詢的功能。  專案原始碼: https://github.com/jellyflu/t31_st

java實現簡單的21點遊戲(第一版)

距離上一次部落格更新已經有了快半個月的時間,由於實習期間的公司業務,所以一直無暇顧及部落格的更新。今天終於忙裡偷閒,為廣大博友帶來一個半月前寫的小遊戲。希望大家多多支援 如有不足請多多留言! 21點遊戲(BlackJack) 遊戲規則:玩家和電腦初始各自獲得2張撲克牌,累加

Java實現簡單的圖書管理系統

最近在學習Java網路程式設計,寫了一個圖書管理系統練手。使用檔案的輸入和輸出類實現對書記資料的儲存和讀取。FileInputStream和FileOutputStream類為建立一個與檔案相關的輸入與輸出流,提供從檔案中讀取或者寫入一個位元組或一組資料的方法。而Objec

Java Web學習(14):階段專案案例實現使用者登入(不使用資料庫)

       實現使用者登入小例子的專案描述:        使用者名稱admin,密碼123456,登入成功使用伺服器內部轉發到login_success.jsp頁面,並且提示登入成功的用 戶名,如

Java 基於MySQL資料庫的簡單學生管理系統

因為實驗室要交作業然後就做了一個學生管理系統  貼個程式碼紀念一下~ 做的太急介面什麼的也比較差 還有一些小細節沒有完善不過還是能實現主要的功能的~ Window是主介面 package First; import java.sql.*; import java.aw

JAVA 實現簡單的發紅包案例

png image bsp move span 展示 member img 代碼 1 package Demo511; 2 3 import java.util.ArrayList; 4 5 public class DemoSend { 6

使用Java實現簡單的鬥地主案例

### 使用Java實現簡單的鬥地主案例 案例說明:使用Java實現簡單的鬥地主洗牌發牌的操作; 具體規則: 共有54張牌,順序打亂; 三個玩家參與遊戲,三人交替摸牌,每人17張牌,最後留三張為底牌(地主牌)。 具體程式碼實現步驟: #### 撲克牌準備操作 ```java import jav

java實現簡單的四則運算

四則運算 計算器本文出自 “十裏稻花香” 博客,請務必保留此出處http://5880861.blog.51cto.com/5870861/1943836java實現簡單的四則運算