diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..822bbc9 Binary files /dev/null and b/.DS_Store differ diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c5f3f6b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/assets/lesson1-01.png b/assets/lesson1-01.png new file mode 100644 index 0000000..c7005d2 Binary files /dev/null and b/assets/lesson1-01.png differ diff --git a/assets/lesson1-02.png b/assets/lesson1-02.png new file mode 100644 index 0000000..13ac891 Binary files /dev/null and b/assets/lesson1-02.png differ diff --git a/assets/lesson1-03.png b/assets/lesson1-03.png new file mode 100644 index 0000000..e520430 Binary files /dev/null and b/assets/lesson1-03.png differ diff --git a/assets/lesson1-04.png b/assets/lesson1-04.png new file mode 100644 index 0000000..f7746f1 Binary files /dev/null and b/assets/lesson1-04.png differ diff --git a/assets/lesson1-05.png b/assets/lesson1-05.png new file mode 100644 index 0000000..bd71bcd Binary files /dev/null and b/assets/lesson1-05.png differ diff --git a/assets/lesson1-06.png b/assets/lesson1-06.png new file mode 100644 index 0000000..58b5454 Binary files /dev/null and b/assets/lesson1-06.png differ diff --git a/assets/lesson1-07.png b/assets/lesson1-07.png new file mode 100644 index 0000000..482d170 Binary files /dev/null and b/assets/lesson1-07.png differ diff --git a/assets/lesson1-08.png b/assets/lesson1-08.png new file mode 100644 index 0000000..7325d3c Binary files /dev/null and b/assets/lesson1-08.png differ diff --git a/assets/lesson1-09.png b/assets/lesson1-09.png new file mode 100644 index 0000000..e6d6d52 Binary files /dev/null and b/assets/lesson1-09.png differ diff --git a/assets/lesson1-10.png b/assets/lesson1-10.png new file mode 100644 index 0000000..367c0b8 Binary files /dev/null and b/assets/lesson1-10.png differ diff --git a/assets/lesson1-11.png b/assets/lesson1-11.png new file mode 100644 index 0000000..c152a3d Binary files /dev/null and b/assets/lesson1-11.png differ diff --git a/assets/lesson1-12.png b/assets/lesson1-12.png new file mode 100644 index 0000000..e8ca2e9 Binary files /dev/null and b/assets/lesson1-12.png differ diff --git a/assets/lesson1-13.png b/assets/lesson1-13.png new file mode 100644 index 0000000..b0b58cb Binary files /dev/null and b/assets/lesson1-13.png differ diff --git a/assets/lesson1-14.png b/assets/lesson1-14.png new file mode 100644 index 0000000..abd7308 Binary files /dev/null and b/assets/lesson1-14.png differ diff --git a/assets/lesson1-15.png b/assets/lesson1-15.png new file mode 100644 index 0000000..876d498 Binary files /dev/null and b/assets/lesson1-15.png differ diff --git a/assets/lesson1-16.png b/assets/lesson1-16.png new file mode 100644 index 0000000..8654522 Binary files /dev/null and b/assets/lesson1-16.png differ diff --git a/assets/lesson1-17.png b/assets/lesson1-17.png new file mode 100644 index 0000000..0c7baaf Binary files /dev/null and b/assets/lesson1-17.png differ diff --git a/assets/lesson1-18.png b/assets/lesson1-18.png new file mode 100644 index 0000000..6515601 Binary files /dev/null and b/assets/lesson1-18.png differ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..74d711d --- /dev/null +++ b/pom.xml @@ -0,0 +1,75 @@ + + + 4.0.0 + + com.csase + githubintro + 1.0 + + githubintro + + + UTF-8 + 17 + 17 + 17 + + + + + + org.junit + junit-bom + 5.9.1 + pom + import + + + + + + + + org.projectlombok + lombok + 1.18.24 + true + + + org.junit.jupiter + junit-jupiter + test + + + + org.junit.jupiter + junit-jupiter-params + test + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + ${maven.compiler.source} + ${maven.compiler.target} + + + + + maven-surefire-plugin + 2.22.2 + + + + diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000..9d6a566 Binary files /dev/null and b/src/.DS_Store differ diff --git a/src/main/.DS_Store b/src/main/.DS_Store new file mode 100644 index 0000000..55c1fcb Binary files /dev/null and b/src/main/.DS_Store differ diff --git a/src/main/java/.DS_Store b/src/main/java/.DS_Store new file mode 100644 index 0000000..35a54bf Binary files /dev/null and b/src/main/java/.DS_Store differ diff --git a/src/main/java/com/csase/Assignment.java b/src/main/java/com/csase/Assignment.java new file mode 100644 index 0000000..3e6b61c --- /dev/null +++ b/src/main/java/com/csase/Assignment.java @@ -0,0 +1,57 @@ +package com.csase; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +/* + * Represents an assignment with a name and due date + */ +public class Assignment { + + private String name; // name of assignment + private LocalDate dueDate; // due date of assignment + + /* + * Sets name and due date of assignment + */ + public Assignment(String name, LocalDate dueDate) { + this.name = name; + this.dueDate = dueDate; + } + + /* + * Returns name of assignment + */ + public String getName() { + return this.name; + } + + /* + * Returns due date of assignment + */ + public LocalDate getDueDate() { + return this.dueDate; + } + + /* + * Sets name of assignment + */ + public void setName(String name) { + this.name = name; + } + + /* + * Sets due date of assignment + */ + public void setDate(LocalDate dueDate) { + this.dueDate = dueDate; + } + + /* + * Returns string representation of assignment + */ + public String toString() { + return this.name + " (due: " + this.dueDate.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")) + ")"; + } + +} diff --git a/src/main/java/com/csase/DeleteMe.java b/src/main/java/com/csase/DeleteMe.java new file mode 100644 index 0000000..11ad3c4 --- /dev/null +++ b/src/main/java/com/csase/DeleteMe.java @@ -0,0 +1,9 @@ +package com.csase; + +public class DeleteMe { + + public void deleteMe() { + System.out.println("Delete me!"); + } + +} diff --git a/src/main/java/com/csase/PlannerRunner.java b/src/main/java/com/csase/PlannerRunner.java new file mode 100644 index 0000000..d689210 --- /dev/null +++ b/src/main/java/com/csase/PlannerRunner.java @@ -0,0 +1,13 @@ +package com.csase; + +public class PlannerRunner { + public static void main(String[] args) { + + // Create a new student + Student jada = new Student(); + + // Gets the student's choice until the student exits + jada.getChoice(); + + } +} diff --git a/src/main/java/com/csase/Student.java b/src/main/java/com/csase/Student.java new file mode 100644 index 0000000..66c709a --- /dev/null +++ b/src/main/java/com/csase/Student.java @@ -0,0 +1,63 @@ +package com.csase; + +import java.util.Scanner; + +/* + * Represents a student that with a study planner + */ +public class Student { + + private StudyPlanner planner; // study planner + private Scanner scanner; // scanner for user input + + /* + * Sets study planner and scanner + */ + public Student { + planner = new StudyPlanner(); + scanner = new Scanner(System.in); + } + + /* + * Gets the student's choice and runs it until the student exits + */ + public void getChoice() { + int option = -1; + + while (option != 3) { + System.out.println("Welcome to Study Planner!"); + System.out.println("What would you like to do?"); + System.out.println(planner.getOptions()); + System.out.print("Enter option: "); + option = scanner.nextInt(); + scanner.nextLine(); + runChoice(option); + } + } + + /* + * Runs the student's choice + */ + public void runChoice(int option) { + if (option == 1) { + addAssignment(); + } else if (option == 2) { + System.out.println(planner.listAssignments()); + } else if (option == 3) { + System.out.println("Goodbye!"); + } else { + System.out.println("Invalid option!"); + } + } + + /* + * Adds a new assignment to the study planner + */ + public void addAssignment() { + System.out.print("Enter assignment name: "); + String name = scanner.nextLine(); + System.out.print("Enter due date (YYYY-MM-DD): "); + String dueDate = scanner.nextLine(); + planner.addAssignment(name, dueDate); + } +} diff --git a/src/main/java/com/csase/StudyPlanner.java b/src/main/java/com/csase/StudyPlanner.java new file mode 100644 index 0000000..be74d88 --- /dev/null +++ b/src/main/java/com/csase/StudyPlanner.java @@ -0,0 +1,67 @@ +package com.csase; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; + +/* + * Represents a study planner with a list of assignments + */ +public class StudyPlanner { + + private ArrayList assignments; // list of assignments + private String[] options; // list of options + + /* + * Sets assignments and options + */ + public StudyPlanner() { + assignments = new ArrayList(); + options = new String[]{"1. Add Assignment", "2. List Assignments", "3. Exit"}; + } + + /* + * Returns list of assignments + */ + public ArrayList getAssignments() { + return assignments; + } + + /* + * Adds a new assignment to the list of assignments + */ + public void addAssignment(String name, String dueDateString) { + LocalDate dueDate = LocalDate.parse(dueDateString, DateTimeFormatter.ISO_LOCAL_DATE); + assignments.add(new Assignment(name, dueDate)); + } + + /* + * Returns string representation of assignments + */ + public String listAssignments() { + String assignmentsString = ""; + + if (assignments.size() == 0) { + return "No assignments to list!\n"; + } + + for (Assignment assignment : assignments) { + assignmentsString += assignment.toString() + "\n"; + } + + return assignmentsString; + } + + /* + * Returns string representation of options + */ + public String getOptions() { + String optionsString = ""; + + for (String option : options) { + optionsString += option + "\n"; + } + + return optionsString; + } +} diff --git a/target/classes/com/csase/Assignment.class b/target/classes/com/csase/Assignment.class new file mode 100644 index 0000000..417f714 Binary files /dev/null and b/target/classes/com/csase/Assignment.class differ diff --git a/target/classes/com/csase/DeleteMe.class b/target/classes/com/csase/DeleteMe.class new file mode 100644 index 0000000..dc699dd Binary files /dev/null and b/target/classes/com/csase/DeleteMe.class differ diff --git a/target/classes/com/csase/PlannerRunner.class b/target/classes/com/csase/PlannerRunner.class new file mode 100644 index 0000000..db6482a Binary files /dev/null and b/target/classes/com/csase/PlannerRunner.class differ diff --git a/target/classes/com/csase/Student.class b/target/classes/com/csase/Student.class new file mode 100644 index 0000000..e0aece0 Binary files /dev/null and b/target/classes/com/csase/Student.class differ diff --git a/target/classes/com/csase/StudyPlanner.class b/target/classes/com/csase/StudyPlanner.class new file mode 100644 index 0000000..e7c8be6 Binary files /dev/null and b/target/classes/com/csase/StudyPlanner.class differ