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

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


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;

/**
 *
 * @author Diep.Tran
 */
public interface IKey {
    String getKeyValue();
    
    boolean compareTo(Object obj);
}



/*
 * 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 implements IKey{
    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: ");
        for(;;) {
           rollNo = scan.nextLine();
           boolean isExist = MenuController.getInstance().checkExist(
                   DataMgr.getInstance().getStudents(), rollNo);
           if(isExist) {
               System.err.println("Enter again: ");
           } else {
               break;
           }
        }
    }

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

    @Override
    public String getKeyValue() {
        return rollNo;
    }

    @Override
    public boolean compareTo(Object obj) {
        if(obj instanceof Student) {
            if(((Student) obj).rollNo.equalsIgnoreCase(rollNo)) {
                return true;
            }
        }
        return false;
    }
}



/*
 * 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.List;
import java.util.Scanner;

/**
 *
 * @author Diep.Tran
 */
public class Teacher extends People implements IKey{
    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: ");
        for(;;) {
           teacherCode = scan.nextLine();
           boolean isExist = MenuController.getInstance().checkExist(
                   DataMgr.getInstance().getTeachers(), teacherCode);
           if(isExist) {
               System.err.println("Enter again: ");
           } else {
               break;
           }
        }
    }

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

    @Override
    public String getKeyValue() {
        return teacherCode;
    }

    @Override
    public boolean compareTo(Object obj) {
        if(obj instanceof Teacher) {
            if(((Teacher) obj).teacherCode.equals(teacherCode)) {
                return true;
            }
        }
        return false;
    }
}



/*
 * 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.List;
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;
    }
    
    public boolean checkExist(List<?> keyList, String keyValue) {
        for (Object obj : keyList) {
            if(obj instanceof IKey) {
                if(((IKey) obj).getKeyValue().equalsIgnoreCase(keyValue)) {
                    return true;
                }
            }
        }
        return false;
    }
    
    public boolean checkExist(List<?> keyList, Object obj2) {
        for (Object obj : keyList) {
            if(obj instanceof IKey) {
                if(((IKey) obj).compareTo(obj2)) {
                    return true;
                }
            }
        }
        return false;
    }
}

Xem thêm mã nguồn khác tại link sau

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

Tags:

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

5

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