By GokiSoft.com| 15:20 20/04/2020|
Java Basic

Share Code - Phần mềm quản lý trường học - giảng dạy

Hướng dẫn chữa bài tập


Share Code - Phần mềm quản lý trường học - giảng dạy 


/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class People {
    String fullname, gender, address, birthday;

    public People() {
    }

    public People(String fullname, String gender, String address, String birthday) {
        this.fullname = fullname;
        this.gender = gender;
        this.address = address;
        this.birthday = birthday;
    }

    public String getFullname() {
        return fullname;
    }

    public void setFullname(String fullname) {
        this.fullname = fullname;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }
    
    public void input() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter name: ");
        fullname = scan.nextLine();
        
        System.out.println("Enter gender: ");
        gender = scan.nextLine();
        
        System.out.println("Enter birthday (dd/mm/yyyy): ");
        birthday = scan.nextLine();
        
        System.out.println("Enter address: ");
        address = scan.nextLine();
    }

    @Override
    public String toString() {
        return "fullname=" + fullname + ", gender=" + gender + ", address=" + address + ", birthday=" + birthday;
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class Student extends People{
    String rollNo;

    public Student() {
    }

    public Student(String rollNo, String fullname, String gender, String address, String birthday) {
        super(fullname, gender, address, birthday);
        this.rollNo = rollNo;
    }

    public String getRollNo() {
        return rollNo;
    }

    public void setRollNo(String rollNo) {
        this.rollNo = rollNo;
    }

    @Override
    public void input() {
        super.input(); //To change body of generated methods, choose Tools | Templates.
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter rollNo: ");
        rollNo = scan.nextLine();
    }

    @Override
    public String toString() {
        return super.toString() + ", rollNo: " + rollNo;
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class Teacher extends People{
    String teacherCode;

    public Teacher() {
    }

    @Override
    public void input() {
        super.input(); //To change body of generated methods, choose Tools | Templates.
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter teacher code: ");
        teacherCode = scan.nextLine();
    }

    @Override
    public String toString() {
        return super.toString() + ", teacher code: " + teacherCode;
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class Attendence {
    enum STATUS {
        PRESENT, ABSENT, PA
    };
    
    String rollNo;
    int scheduleId;
    String createdAt, updatedAt;
    
    STATUS status;

    public Attendence() {
    }

    public String getRollNo() {
        return rollNo;
    }

    public void setRollNo(String rollNo) {
        this.rollNo = rollNo;
    }

    public int getScheduleId() {
        return scheduleId;
    }

    public void setScheduleId(int scheduleId) {
        this.scheduleId = scheduleId;
    }

    public String getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(String createdAt) {
        this.createdAt = createdAt;
    }

    public String getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(String updatedAt) {
        this.updatedAt = updatedAt;
    }

    public STATUS getStatus() {
        return status;
    }

    public void setStatus(STATUS status) {
        this.status = status;
    }
    
    public void input() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter rollNo: ");
        rollNo = scan.nextLine();
        
        System.out.println("Enter schedule id: ");
        scheduleId = Integer.parseInt(scan.nextLine());
        
        System.out.println("Enter status: ");
        System.out.println("1. Present");
        System.out.println("2. Absent");
        System.out.println("3. PA");
        System.out.println("Choose: ");
        int choose = Integer.parseInt(scan.nextLine());
        switch(choose) {
            case 1:
                status = STATUS.PRESENT;
                break;
            case 2:
                status = STATUS.ABSENT;
                break;
            default:
                status = STATUS.PA;
                break;
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("hh:mm:ss dd/MM/yyyy");
        Date date = new Date();
        createdAt = simpleDateFormat.format(date);
        updatedAt = createdAt;
    }

    @Override
    public String toString() {
        return "Attendence{" + "rollNo=" + rollNo + ", scheduleId=" + scheduleId + ", createdAt=" + createdAt + ", updatedAt=" + updatedAt + ", status=" + getStatusString() + '}';
    }
    
    public String getStatusString() {
        switch(status) {
            case PRESENT:
                return "Present";
            case ABSENT:
                return "Absent";
            default:
                return "PA";
        }
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class ClassGroup {
    String classCode, rollNo;

    public ClassGroup() {
    }

    public ClassGroup(String classCode, String rollNo) {
        this.classCode = classCode;
        this.rollNo = rollNo;
    }

    public String getClassCode() {
        return classCode;
    }

    public void setClassCode(String classCode) {
        this.classCode = classCode;
    }

    public String getRollNo() {
        return rollNo;
    }

    public void setRollNo(String rollNo) {
        this.rollNo = rollNo;
    }

    @Override
    public String toString() {
        return "ClassGroup{" + "classCode=" + classCode + ", rollNo=" + rollNo + '}';
    }
    
    public void input() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter class code: ");
        classCode = scan.nextLine();
        
        System.out.println("Enter rollNo: ");
        rollNo = scan.nextLine();
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class ClassRoom {
    String classCode, className;

    public ClassRoom() {
    }

    public String getClassCode() {
        return classCode;
    }

    public void setClassCode(String classCode) {
        this.classCode = classCode;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    @Override
    public String toString() {
        return "ClassRoom{" + "classCode=" + classCode + ", className=" + className + '}';
    }
    
    public void input() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter class code: ");
        classCode = scan.nextLine();
        
        System.out.println("Enter class name: ");
        className = scan.nextLine();
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class Schedule {
    int scheduleId;
    String subjectCode, classCode, teacherCode, createdAt, expiredAt;
    List<String> teachingTime;
    float fromTime, toTime;

    public Schedule() {
        teachingTime = new ArrayList<>();
    }

    public int getScheduleId() {
        return scheduleId;
    }

    public void setScheduleId(int scheduleId) {
        this.scheduleId = scheduleId;
    }

    public String getSubjectCode() {
        return subjectCode;
    }

    public void setSubjectCode(String subjectCode) {
        this.subjectCode = subjectCode;
    }

    public String getClassCode() {
        return classCode;
    }

    public void setClassCode(String classCode) {
        this.classCode = classCode;
    }

    public String getTeacherCode() {
        return teacherCode;
    }

    public void setTeacherCode(String teacherCode) {
        this.teacherCode = teacherCode;
    }

    public String getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(String createdAt) {
        this.createdAt = createdAt;
    }

    public String getExpiredAt() {
        return expiredAt;
    }

    public void setExpiredAt(String expiredAt) {
        this.expiredAt = expiredAt;
    }

    public List<String> getTeachingTime() {
        return teachingTime;
    }

    public void setTeachingTime(List<String> teachingTime) {
        this.teachingTime = teachingTime;
    }

    public float getFromTime() {
        return fromTime;
    }

    public void setFromTime(float fromTime) {
        this.fromTime = fromTime;
    }

    public float getToTime() {
        return toTime;
    }

    public void setToTime(float toTime) {
        this.toTime = toTime;
    }
    
    public void input() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter schedule id: ");
        scheduleId = Integer.parseInt(scan.nextLine());
        
        System.out.println("Enter class code: ");
        classCode = scan.nextLine();
        
        System.out.println("Enter subject code: ");
        subjectCode = scan.nextLine();
        
        System.out.println("Enter teacher code: ");
        teacherCode = scan.nextLine();
        
        System.out.println("Enter created at: ");
        createdAt = scan.nextLine();
        
        System.out.println("Enter expired at: ");
        expiredAt = scan.nextLine();
        
        System.out.println("Enter teaching time: ");
        for(;;) {
            System.out.format("Time (%d): ", teachingTime.size() + 1);
            teachingTime.add(scan.nextLine());
            System.out.println("Continue (Y/N): ");
            String c = scan.nextLine();
            if(c.equalsIgnoreCase("N")) {
                break;
            }
        }
        
        System.out.println("Enter start time: ");
        fromTime = Float.parseFloat(scan.nextLine());
        
        System.out.println("Enter end time: ");
        toTime = Float.parseFloat(scan.nextLine());
    }

    @Override
    public String toString() {
        return "scheduleId=" + scheduleId + ", subjectCode=" + subjectCode + ", classCode=" + classCode + ", teacherCode=" + teacherCode + ", createdAt=" + createdAt + ", expiredAt=" + expiredAt + ", fromTime=" + fromTime + ", toTime=" + toTime;
    }
    
    public void display() {
        System.out.println(toString());
        System.out.println("Teaching time: ");
        for (String value : teachingTime) {
            System.out.println(value);
        }
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class Subject {
    String subjectCode, subjectName;

    public Subject() {
    }

    public String getSubjectCode() {
        return subjectCode;
    }

    public void setSubjectCode(String subjectCode) {
        this.subjectCode = subjectCode;
    }

    public String getSubjectName() {
        return subjectName;
    }

    public void setSubjectName(String subjectName) {
        this.subjectName = subjectName;
    }
    
    public void input() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter subject code: ");
        subjectCode = scan.nextLine();
        
        System.out.println("Enter subject name: ");
        subjectName = scan.nextLine();
    }

    @Override
    public String toString() {
        return "Subject{" + "subjectCode=" + subjectCode + ", subjectName=" + subjectName + '}';
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Diep.Tran
 */
public class DataMgr {
    private static DataMgr instance = null;
    
    List<Student> students;
    List<Teacher> teachers;
    List<Subject> subjects;
    List<ClassRoom> classRooms;
    List<ClassGroup> classGroups;
    List<Schedule> schedules;
    List<Attendence> attendences;
    
    private DataMgr() {
        students = new ArrayList<>();
        teachers = new ArrayList<>();
        subjects = new ArrayList<>();
        classRooms = new ArrayList<>();
        classGroups = new ArrayList<>();
        schedules = new ArrayList<>();
        attendences = new ArrayList<>();
    }
    
    public synchronized static DataMgr getInstance() {
        if(instance == null) {
            instance = new DataMgr();
        }
        return instance;
    }

    public List<Student> getStudents() {
        return students;
    }

    public List<Teacher> getTeachers() {
        return teachers;
    }

    public List<Subject> getSubjects() {
        return subjects;
    }

    public List<ClassRoom> getClassRooms() {
        return classRooms;
    }

    public List<ClassGroup> getClassGroups() {
        return classGroups;
    }

    public List<Schedule> getSchedules() {
        return schedules;
    }

    public List<Attendence> getAttendences() {
        return attendences;
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class MenuController {
    private static MenuController instance = null;
    
    private MenuController() {
        
    }
    
    public synchronized static MenuController getInstance() {
        if(instance == null) {
            instance = new MenuController();
        }
        return instance;
    }
    
    public void showMenu() {
        System.out.println("1. Add teacher");
        System.out.println("2. Add student");
        System.out.println("3. Add subject");
        System.out.println("4. Add class room");
        System.out.println("5. Add schedule");
        System.out.println("6. Add attendence");
        System.out.println("7. Find attendence of student by created at");
        System.out.println("8. Exit");
        System.out.println("Choose: ");
    }
    
    public void inputTeacher() {
        for(;;) {
            Teacher teacher = new Teacher();
            teacher.input();
            
            DataMgr.getInstance().getTeachers().add(teacher);
            
            if(!hasNext()) {
                break;
            }
        }
    }
    
    public void inputStudent() {
        for(;;) {
            Student std = new Student();
            std.input();
            
            DataMgr.getInstance().getStudents().add(std);
            
            if(!hasNext()) {
                break;
            }
        }
    }
    
    public void inputSubject() {
        for(;;) {
            Subject subject = new Subject();
            subject.input();
            
            DataMgr.getInstance().getSubjects().add(subject);
            
            if(!hasNext()) {
                break;
            }
        }
    }
    
    public void inputClassRoom() {
        for(;;) {
            ClassRoom classRoom = new ClassRoom();
            classRoom.input();
            
            DataMgr.getInstance().getClassRooms().add(classRoom);
            
            if(!hasNext()) {
                break;
            }
        }
    }
    
    public void inputClassGroup() {
        for(;;) {
            ClassGroup classGroup = new ClassGroup();
            classGroup.input();
            
            DataMgr.getInstance().getClassGroups().add(classGroup);
            
            if(!hasNext()) {
                break;
            }
        }
    }
    
    public void inputSchedule() {
        for(;;) {
            Schedule schedule = new Schedule();
            schedule.input();
            
            DataMgr.getInstance().getSchedules().add(schedule);
            
            if(!hasNext()) {
                break;
            }
        }
    }
    
    public void inputAttendence() {
        for(;;) {
            Attendence attendence = new Attendence();
            attendence.input();
            
            DataMgr.getInstance().getAttendences().add(attendence);
            
            if(!hasNext()) {
                break;
            }
        }
    }
    
    public boolean hasNext() {
        Scanner scan = new Scanner(System.in);
        System.out.println("Continue (Y/N): ");
        String c = scan.nextLine();
        if(c.equalsIgnoreCase("N")) {
            return false;
        }
        return true;
    }
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lession14;

import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int choose;
        
        do {
            MenuController.getInstance().showMenu();
            choose = Integer.parseInt(scan.nextLine());
            
            switch(choose) {
                case 1:
//                    MenuController menuController = MenuController.getInstance();
//                    menuController.inputTeacher();
                    MenuController.getInstance().inputTeacher();
                    break;
                case 2:
                    MenuController.getInstance().inputStudent();
                    break;
                case 3:
                    MenuController.getInstance().inputSubject();
                    break;
                case 4:
                    MenuController.getInstance().inputClassRoom();
                    break;
                case 5:
                    MenuController.getInstance().inputClassGroup();
                    break;
                case 6:
                    MenuController.getInstance().inputSchedule();
                    break;
                case 7:
                    MenuController.getInstance().inputAttendence();
                    break;
                case 8:
                    System.out.println("Exit program!!!");
                    break;
                default:
                    System.out.println("Input fail!!!");
                    break;
            }
        } while(choose != 8);
    }
}

Share Code - Phần mềm quản lý trường học - giảng dạy - Optimize Phan 1

Tags:

Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)