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)