From ba6d428ad11f4395d5bfd61567e95b0c8259c560 Mon Sep 17 00:00:00 2001 From: edavud Date: Thu, 1 Dec 2022 12:39:32 -0500 Subject: [PATCH] Implement functionalities in Student, StudentService, PrinterHelper, and Main classes. --- src/com/generation/model/Instructor.java | 4 ++-- src/com/generation/model/Student.java | 14 ++++++++++++-- src/com/generation/service/StudentService.java | 4 ++++ src/com/generation/utils/PrinterHelper.java | 16 +++++++++++++--- 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/com/generation/model/Instructor.java b/src/com/generation/model/Instructor.java index 9dccdfa..c7268a9 100644 --- a/src/com/generation/model/Instructor.java +++ b/src/com/generation/model/Instructor.java @@ -1,7 +1,7 @@ package com.generation.model; -import java.util.ArrayList; import java.util.Date; +import java.util.ArrayList; import java.util.List; public class Instructor @@ -12,7 +12,7 @@ public class Instructor private final List teachingCourses = new ArrayList<>(); - protected Instructor( String id, String name, String email, Date birthDate ) + protected Instructor(String id, String name, String email, Date birthDate ) { super( id, name, email, birthDate ); } diff --git a/src/com/generation/model/Student.java b/src/com/generation/model/Student.java index 0897ebe..5d26fbb 100644 --- a/src/com/generation/model/Student.java +++ b/src/com/generation/model/Student.java @@ -1,7 +1,7 @@ package com.generation.model; -import java.util.ArrayList; import java.util.Date; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -16,7 +16,7 @@ public class Student private final Map approvedCourses = new HashMap<>(); - public Student( String id, String name, String email, Date birthDate ) + public Student(String id, String name, String email, Date birthDate ) { super( id, name, email, birthDate ); } @@ -24,6 +24,11 @@ public Student( String id, String name, String email, Date birthDate ) public void enrollToCourse( Course course ) { //TODO implement this method + if(!isAttendingCourse(course.getCode())) { + courses.add(course); + } else { + System.out.println("Student already enrolled."); + } } public void registerApprovedCourse( Course course ) @@ -35,6 +40,11 @@ public void registerApprovedCourse( Course course ) public boolean isAttendingCourse( String courseCode ) { //TODO implement this method + for(Course _course : courses) { + if(_course.getCode().equals(courseCode)) { + return true; + } + } return false; } diff --git a/src/com/generation/service/StudentService.java b/src/com/generation/service/StudentService.java index f980e40..d59812b 100644 --- a/src/com/generation/service/StudentService.java +++ b/src/com/generation/service/StudentService.java @@ -27,6 +27,10 @@ public Student findStudent( String studentId ) public void showSummary() { //TODO implement + System.out.println("Students: "); + for(Student _student : students.values()){ + System.out.println(_student.toString()); + } } public void enrollToCourse( String studentId, Course course ) diff --git a/src/com/generation/utils/PrinterHelper.java b/src/com/generation/utils/PrinterHelper.java index 6f1ca9b..5648e2d 100644 --- a/src/com/generation/utils/PrinterHelper.java +++ b/src/com/generation/utils/PrinterHelper.java @@ -37,10 +37,20 @@ public static Student createStudentMenu( Scanner scanner ) String id = scanner.next(); System.out.println( "| Enter student email: |" ); String email = scanner.next(); - System.out.println( "| Enter student birth date(mm/dd/yyyy)|" ); - DateFormat formatter = new SimpleDateFormat( "mm/dd/yyyy"); + + DateFormat formatter = new SimpleDateFormat( "MM/dd/yyyy"); //TODO validate date format and catch exception to avoid crash - Date birthDate = formatter.parse( scanner.next()); + formatter.setLenient(false); + Date birthDate = null; + + while(birthDate == null) { + System.out.println( "| Enter student birth date(mm/dd/yyyy)|" ); + try { + birthDate = formatter.parse(scanner.next()); + } catch (ParseException e) { + System.out.println("Please input valid date"); + } + } System.out.println( "|-------------------------------------|" ); Student student = new Student( id, name, email, birthDate ); System.out.println( "Student Successfully Registered! " );