From bbfffb87ac16965da7ab44e64f564a1c19c308a3 Mon Sep 17 00:00:00 2001 From: Scott Date: Mon, 22 Sep 2025 22:10:48 -0700 Subject: [PATCH] week 5 done --- .gitignore | 1 + dropbox12/.classpath | 10 ++ {dropbox08 => dropbox12}/.project | 2 +- .../org.eclipse.core.resources.prefs | 2 + dropbox12/dropbox12/.gitignore | 3 + dropbox12/dropbox12/Student.java | 66 ++++++++ dropbox12/dropbox12/StudentTest.java | 86 +++++++++++ dropbox13/.classpath | 10 ++ {dropbox08/bin => dropbox13}/.project | 2 +- .../org.eclipse.core.resources.prefs | 2 + dropbox13/dropbox13/.gitignore | 2 + dropbox13/dropbox13/Employee.java | 67 ++++++++ dropbox13/dropbox13/EmployeeTest.java | 87 +++++++++++ dropbox14/.classpath | 10 ++ dropbox14/.project | 17 +++ .../org.eclipse.core.resources.prefs | 2 + dropbox14/dropbox14/.gitignore | 2 + dropbox14/dropbox14/Date2.java | 144 ++++++++++++++++++ dropbox14/dropbox14/Date2Test.java | 28 ++++ dropbox15/.classpath | 10 ++ dropbox15/.project | 17 +++ .../org.eclipse.core.resources.prefs | 2 + dropbox15/dropbox15/.gitignore | 2 + dropbox15/dropbox15/Time2.java | 88 +++++++++++ dropbox15/dropbox15/Time2Test.java | 39 +++++ 25 files changed, 699 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 dropbox12/.classpath rename {dropbox08 => dropbox12}/.project (93%) create mode 100644 dropbox12/.settings/org.eclipse.core.resources.prefs create mode 100644 dropbox12/dropbox12/.gitignore create mode 100644 dropbox12/dropbox12/Student.java create mode 100644 dropbox12/dropbox12/StudentTest.java create mode 100644 dropbox13/.classpath rename {dropbox08/bin => dropbox13}/.project (93%) create mode 100644 dropbox13/.settings/org.eclipse.core.resources.prefs create mode 100644 dropbox13/dropbox13/.gitignore create mode 100644 dropbox13/dropbox13/Employee.java create mode 100644 dropbox13/dropbox13/EmployeeTest.java create mode 100644 dropbox14/.classpath create mode 100644 dropbox14/.project create mode 100644 dropbox14/.settings/org.eclipse.core.resources.prefs create mode 100644 dropbox14/dropbox14/.gitignore create mode 100644 dropbox14/dropbox14/Date2.java create mode 100644 dropbox14/dropbox14/Date2Test.java create mode 100644 dropbox15/.classpath create mode 100644 dropbox15/.project create mode 100644 dropbox15/.settings/org.eclipse.core.resources.prefs create mode 100644 dropbox15/dropbox15/.gitignore create mode 100644 dropbox15/dropbox15/Time2.java create mode 100644 dropbox15/dropbox15/Time2Test.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e10e727 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.metadata/ diff --git a/dropbox12/.classpath b/dropbox12/.classpath new file mode 100644 index 0000000..64c0023 --- /dev/null +++ b/dropbox12/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/dropbox08/.project b/dropbox12/.project similarity index 93% rename from dropbox08/.project rename to dropbox12/.project index 8d70216..8facb2c 100644 --- a/dropbox08/.project +++ b/dropbox12/.project @@ -1,6 +1,6 @@ - dropbox08 + dropbox12 diff --git a/dropbox12/.settings/org.eclipse.core.resources.prefs b/dropbox12/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/dropbox12/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/dropbox12/dropbox12/.gitignore b/dropbox12/dropbox12/.gitignore new file mode 100644 index 0000000..555bc90 --- /dev/null +++ b/dropbox12/dropbox12/.gitignore @@ -0,0 +1,3 @@ +/Student.class +/student.class +/StudentTest.class diff --git a/dropbox12/dropbox12/Student.java b/dropbox12/dropbox12/Student.java new file mode 100644 index 0000000..3f2027c --- /dev/null +++ b/dropbox12/dropbox12/Student.java @@ -0,0 +1,66 @@ +/** + + * Assignment 12 + + * Course: CISS238 + + * Student: Scott Steely + + * Date: Sep 22, 2025 + + */ + +package dropbox12; +import java.util.ArrayList; +import java.util.Collections; +public class Student { + // fileds + private String name; + private ArrayList courses; + + //accessors + public String getName() { + return name; + } + public ArrayList getCourses() { + return courses; + } + // mutators + public void setName(String name) { + this.name = name; + } + public void setCourses(ArrayList courses) { + this.courses = courses; + } + // constructors + public Student(String name, ArrayList courses) { + this.name = name; + this.courses = courses; + } + // methods + public void addCourse(String course) { + getCourses().add(course); + } + public void removeCourse(String course) { + getCourses().remove(course); + } + public void sortCourses() { + Collections.sort(getCourses()); + } + public int findCoursePosition(String course) { + return getCourses().indexOf(course) + 1; + } + public boolean isCourseCompleted(String course) { + return getCourses().contains(course); + } + // toString + @Override + public String toString() { + String str; + str = String.format("Name: %s%n$d courses%n", getName(), getCourses().size()); + for(String c:getCourses()) { + str += String.format("%s, ", c); + } + return str; + } +} diff --git a/dropbox12/dropbox12/StudentTest.java b/dropbox12/dropbox12/StudentTest.java new file mode 100644 index 0000000..2f690fc --- /dev/null +++ b/dropbox12/dropbox12/StudentTest.java @@ -0,0 +1,86 @@ +/** + + * Assignment 12 + + * Course: CISS238 + + * Student: Scott Steely + + * Date: Sep 22, 2025 + + */ +package dropbox12; +import java.util.ArrayList; +import java.util.Scanner; +public class StudentTest { + public static void main(String[] args) { + Scanner input = new Scanner(System.in); + // variables + String name; + String course; + // two courses in an ArrayList + ArrayList myCourses = new ArrayList<>(); + myCourses.add("CS 101"); + myCourses.add("CS 102"); + // prompt user for input + System.out.println("Enter student name: "); + name = input.nextLine(); + // create a student with the two courses + Student student = new Student(name, myCourses); + int menuSelected; + // display a user menu + System.out.println("Enter a number for the task:"); + System.out.println("1. Add a course."); + System.out.println("2. Drop a course."); + System.out.println("3. Find the position of a course."); + System.out.println("4. Display all courses."); + System.out.println("5. Sort courses."); + System.out.println("6. Exit."); + menuSelected = input.nextInt(); + input.nextLine(); + while(menuSelected > 0 && menuSelected <6) { + switch(menuSelected) { + case 1: + System.out.println("Enter a course: "); + course = input.nextLine(); + student.addCourse(course); + System.out.println("Course added."); + break; + case 2: + System.out.println("Enter a course to delete:"); + course = input.nextLine(); + student.removeCourse(course); + System.out.println("Course dropped."); + break; + case 3: + System.out.println("Enter a course to see its position: "); + course = input.nextLine(); + // check if the course is in the completed list + if(student.isCourseCompleted(course)) { + System.out.printf("%s is in position %d%n", + course, student.findCoursePosition(course)); + } else { + System.out.printf("%s is not completed yet.", course); + } + break; + case 4: + System.out.println(student); + break; + case 5: + student.sortCourses(); + System.out.println(student); + } + // display a user menu + System.out.println("Enter a number for the task:"); + System.out.println("1. Add a course."); + System.out.println("2. Drop a course."); + System.out.println("3. Find the position of a course."); + System.out.println("4. Display all courses."); + System.out.println("5. Sort courses."); + System.out.println("6. Exit."); + menuSelected = input.nextInt(); + input.nextLine(); + } + input.close(); + } +} diff --git a/dropbox13/.classpath b/dropbox13/.classpath new file mode 100644 index 0000000..64c0023 --- /dev/null +++ b/dropbox13/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/dropbox08/bin/.project b/dropbox13/.project similarity index 93% rename from dropbox08/bin/.project rename to dropbox13/.project index 8d70216..bbbff64 100644 --- a/dropbox08/bin/.project +++ b/dropbox13/.project @@ -1,6 +1,6 @@ - dropbox08 + dropbox13 diff --git a/dropbox13/.settings/org.eclipse.core.resources.prefs b/dropbox13/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/dropbox13/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/dropbox13/dropbox13/.gitignore b/dropbox13/dropbox13/.gitignore new file mode 100644 index 0000000..45e2984 --- /dev/null +++ b/dropbox13/dropbox13/.gitignore @@ -0,0 +1,2 @@ +/Employee.class +/EmployeeTest.class diff --git a/dropbox13/dropbox13/Employee.java b/dropbox13/dropbox13/Employee.java new file mode 100644 index 0000000..8607d67 --- /dev/null +++ b/dropbox13/dropbox13/Employee.java @@ -0,0 +1,67 @@ +/** + + * Assignment 13 + + * Skill: CISS238 + + * Student: Scott Steely + + * Date: Sep 22, 2025 + + */ + +package dropbox13; +import java.util.ArrayList; +import java.util.Collections; + +public class Employee{ + // fileds + private String name; + private ArrayList skills; + + //accessors + public String getName() { + return name; + } + public ArrayList getSkills() { + return skills; + } + // mutators + public void setName(String name) { + this.name = name; + } + public void setSkills(ArrayList skills) { + this.skills = skills; + } + // constructors + public Employee(String name, ArrayList skills) { + this.name = name; + this.skills = skills; + } + // methods + public void addSkill(String skill) { + getSkills().add(skill); + } + public void removeSkill(String skill) { + getSkills().remove(skill); + } + public void sortSkills() { + Collections.sort(getSkills()); + } + public int findSkillPosition(String skill) { + return getSkills().indexOf(skill) + 1; + } + public boolean isSkillCompleted(String skill) { + return getSkills().contains(skill); + } + // toString + @Override + public String toString() { + String str; + str = String.format("Name: %s%nSkills :%n", getName(), getSkills().size()); + for(String c:getSkills()) { + str += String.format("%s, ", c); + } + return str; + } +} diff --git a/dropbox13/dropbox13/EmployeeTest.java b/dropbox13/dropbox13/EmployeeTest.java new file mode 100644 index 0000000..fdf571c --- /dev/null +++ b/dropbox13/dropbox13/EmployeeTest.java @@ -0,0 +1,87 @@ +/** + + * Assignment 13 + + * Skill: CISS238 + + * Employee: Scott Steely + + * Date: Sep 22, 2025 + + */ +package dropbox13; +import java.util.ArrayList; +import java.util.Scanner; + +public class EmployeeTest { + public static void main(String[] args) { + Scanner input = new Scanner(System.in); + // variables + String name; + String skill; + // two skills in an ArrayList + ArrayList mySkills = new ArrayList<>(); + mySkills.add("Diviner/Dowser"); + mySkills.add("Alchemist"); + // prompt user for input + System.out.println("Enter employee name: "); + name = input.nextLine(); + // create a employee with the two skills + Employee employee = new Employee(name, mySkills); + int menuSelected; + // display a user menu + System.out.println("Enter a number for the task:"); + System.out.println("1. Add a skill."); + System.out.println("2. Drop a skill."); + System.out.println("3. Find the position of a skill."); + System.out.println("4. Display all skills."); + System.out.println("5. Sort skills."); + System.out.println("6. Exit."); + menuSelected = input.nextInt(); + input.nextLine(); + while(menuSelected > 0 && menuSelected <6) { + switch(menuSelected) { + case 1: + System.out.println("Enter a skill: "); + skill = input.nextLine(); + employee.addSkill(skill); + System.out.println("Skill added."); + break; + case 2: + System.out.println("Enter a skill to delete:"); + skill = input.nextLine(); + employee.removeSkill(skill); + System.out.println("Skill dropped."); + break; + case 3: + System.out.println("Enter a skill to see its position: "); + skill = input.nextLine(); + // check if the skill is in the completed list + if(employee.isSkillCompleted(skill)) { + System.out.printf("%s is in position %d%n", + skill, employee.findSkillPosition(skill)); + } else { + System.out.printf("%s is not completed yet.", skill); + } + break; + case 4: + System.out.println(employee); + break; + case 5: + employee.sortSkills(); + System.out.println(employee); + } + // display a user menu + System.out.println("Enter a number for the task:"); + System.out.println("1. Add a skill."); + System.out.println("2. Drop a skill."); + System.out.println("3. Find the position of a skill."); + System.out.println("4. Display all skills."); + System.out.println("5. Sort skills."); + System.out.println("6. Exit."); + menuSelected = input.nextInt(); + input.nextLine(); + } + input.close(); + } +} diff --git a/dropbox14/.classpath b/dropbox14/.classpath new file mode 100644 index 0000000..64c0023 --- /dev/null +++ b/dropbox14/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/dropbox14/.project b/dropbox14/.project new file mode 100644 index 0000000..24cb749 --- /dev/null +++ b/dropbox14/.project @@ -0,0 +1,17 @@ + + + dropbox14 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/dropbox14/.settings/org.eclipse.core.resources.prefs b/dropbox14/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/dropbox14/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/dropbox14/dropbox14/.gitignore b/dropbox14/dropbox14/.gitignore new file mode 100644 index 0000000..8674598 --- /dev/null +++ b/dropbox14/dropbox14/.gitignore @@ -0,0 +1,2 @@ +/Date2.class +/Date2Test.class diff --git a/dropbox14/dropbox14/Date2.java b/dropbox14/dropbox14/Date2.java new file mode 100644 index 0000000..38ae97d --- /dev/null +++ b/dropbox14/dropbox14/Date2.java @@ -0,0 +1,144 @@ +/** + * Assignment 14 + * Skill: CISS238 + * Student: Scott Steely + * Date: Sep 28, 2025 + */ +package dropbox14; +public class Date2 { + // fields + private String month; + private int day; + private int year; + // accessors + public String getMonth() { + return month; + } + public int getDay() { + return day; + } + public int getYear() { + return year; + } + // mutators + public void setMonth(String month) { + this.month = month; + } + public void setDay(int day) { + this.day = day; + } + public void setYear(int year) { + this.year = year; + } + // constructors + public Date2() { + month = "January"; + day = 1; + year = 1000; + } + public Date2(String month, int day, int year) { + this.month = month; + this.day = day; + this.year = year; + } + public Date2(int month, int day, int year) { + this.day = day; + this.year = year; + switch(month) { + case 1: + this.month = "January"; + break; + case 2: + this.month = "February"; + break; + case 3: + this.month = "March"; + break; + case 4: + this.month = "April"; + break; + case 5: + this.month = "May"; + break; + case 6: + this.month = "June"; + break; + case 7: + this.month = "July"; + break; + case 8: + this.month = "August"; + break; + case 9: + this.month = "September"; + break; + case 10: + this.month = "October"; + break; + case 11: + this.month = "November"; + break; + case 12: + this.month = "December"; + break; + } + } + public Date2(int year) { + this(1, 1, year); + } + public Date2(Date2 date2) { + this(date2.getMonth(), date2.getDay(), date2.getYear()); + } + // methods + public String dateInNumber() { + String str; + switch(getMonth()) { + case "January": + str = "1"; + break; + case "February": + str = "2"; + break; + case "March": + str = "3"; + break; + case "April": + str = "4"; + break; + case "May": + str = "5"; + break; + case "June": + str = "6"; + break; + case "July": + str = "7"; + break; + case "August": + str = "8"; + break; + case "September": + str = "9"; + break; + case "October": + str = "10"; + break; + case "November": + str = "11"; + break; + case "December": + str = "12"; + break; + default: + str = "00"; + break; + } + str += "/" + getDay() + "/" + getYear(); + return str; + } + public String dateInWord() { + String str; + str = getMonth() + " " + getDay() + " " + getYear(); + return str; + } +} diff --git a/dropbox14/dropbox14/Date2Test.java b/dropbox14/dropbox14/Date2Test.java new file mode 100644 index 0000000..2cd400b --- /dev/null +++ b/dropbox14/dropbox14/Date2Test.java @@ -0,0 +1,28 @@ +/** + * Assignment 14 + * Skill: CISS238 + * Student: Scott Steely + * Date: Sep 28, 2025 + */ +package dropbox14; +public class Date2Test { + public static void main(String[] args) { + // five objects + Date2 date2a = new Date2(); + Date2 date2b = new Date2("August", 12, 1990); + Date2 date2c = new Date2(3, 21, 1991); + Date2 date2d = new Date2(1992); + Date2 date2e = new Date2(date2b); + // display each object in two formats + System.out.println(date2a.dateInNumber()); + System.out.println(date2a.dateInWord()); + System.out.println(date2b.dateInNumber()); + System.out.println(date2b.dateInWord()); + System.out.println(date2c.dateInNumber()); + System.out.println(date2c.dateInWord()); + System.out.println(date2d.dateInNumber()); + System.out.println(date2d.dateInWord()); + System.out.println(date2e.dateInNumber()); + System.out.println(date2e.dateInWord()); + } +} diff --git a/dropbox15/.classpath b/dropbox15/.classpath new file mode 100644 index 0000000..64c0023 --- /dev/null +++ b/dropbox15/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/dropbox15/.project b/dropbox15/.project new file mode 100644 index 0000000..97b4f68 --- /dev/null +++ b/dropbox15/.project @@ -0,0 +1,17 @@ + + + dropbox15 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/dropbox15/.settings/org.eclipse.core.resources.prefs b/dropbox15/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/dropbox15/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/dropbox15/dropbox15/.gitignore b/dropbox15/dropbox15/.gitignore new file mode 100644 index 0000000..c2c7a7b --- /dev/null +++ b/dropbox15/dropbox15/.gitignore @@ -0,0 +1,2 @@ +/Time2.class +/Time2Test.class diff --git a/dropbox15/dropbox15/Time2.java b/dropbox15/dropbox15/Time2.java new file mode 100644 index 0000000..6b887e7 --- /dev/null +++ b/dropbox15/dropbox15/Time2.java @@ -0,0 +1,88 @@ +/** + * Assignment 15 + * Skill: CISS238 + * Student: Scott Steely + * Date: Sep 28, 2025 + */ +package dropbox15; + +public class Time2 { + // fields + private int hour; + private int minute; + private int second; + // accessors + public int getHour() { + return hour; + } + public int getMinute() { + return minute; + } + public int getSecond() { + return second; + } + // mutators + public void setHour(int hour) { + if (hour < 0 || hour > 23) { // There is no such thing as 24 'oclock' in standard military time + throw new IllegalArgumentException("Hour must be between 0 and 23."); + } + this.hour = hour; + } + public void setMinute(int minute) { + if (minute < 0 || minute > 59) { + throw new IllegalArgumentException("Minute must be between 0 and 59."); + } + this.minute = minute; + } + public void setSecond(int second) { + if (second < 0 || second > 59) { + throw new IllegalArgumentException("Second must be between 0 and 59."); + } + this.second = second; + } + // constructors + public Time2() { + this(1,1,1); + } + public Time2(int hour, int minute, int second) { + setHour(hour); + setMinute(minute); + setSecond(second); + } + public Time2(int hour) { + this(hour, 0, 0); + } + public Time2(int hour, int minute) { + this(hour, minute, 00); + } + public Time2(Time2 time2) { + this(time2.getHour(), time2.getMinute(), time2.getSecond()); + } + + // method + public String militaryTime(){ + return String.format("%02d:%02d:%02d", getHour(), getMinute(), getSecond()); + } + + public String standardTime() { + int displayHour = getHour(); + + String AM_PM = "AM"; + if (displayHour == 0) { // 00:xx:xx (Midnight) -> 12:xx:xx AM + displayHour = 12; + AM_PM = "AM"; + } + else if (displayHour == 12){ + AM_PM = "PM"; + } + else if (displayHour > 12){ + displayHour = displayHour - 12; + AM_PM = "PM"; + } + return String.format("%d:%02d:%02d %s", + displayHour, + getMinute(), + getSecond(), + AM_PM); + } +} diff --git a/dropbox15/dropbox15/Time2Test.java b/dropbox15/dropbox15/Time2Test.java new file mode 100644 index 0000000..65c0fb1 --- /dev/null +++ b/dropbox15/dropbox15/Time2Test.java @@ -0,0 +1,39 @@ +/** + * Assignment 15 + * Skill: CISS238 + * Student: Scott Steely + * Date: Sep 28, 2025 + */ +package dropbox15; + +public class Time2Test { + public static void main(String[] args) { + // five objects + // The default constructor was changed to initialize to 00:00:00 + Time2 time2a = new Time2(); // 00:00:00 + Time2 time2b = new Time2(14, 12, 43); // 14:12:43 + Time2 time2c = new Time2(3); // 03:00:00 + Time2 time2d = new Time2(3, 25); // 03:25:00 + Time2 time2e = new Time2(time2b); // 14:12:43 (Copy of time2b) + + System.out.println("--- Time 2a (Default: 00:00:00) ---"); + System.out.println("Standard Time: " + time2a.standardTime()); // Calling standardTime() with NO arguments + System.out.println("Military Time: " + time2a.militaryTime()); + + System.out.println("\n--- Time 2b (14:12:43) ---"); + System.out.println("Standard Time: " + time2b.standardTime()); + System.out.println("Military Time: " + time2b.militaryTime()); + + System.out.println("\n--- Time 2c (03:00:00) ---"); + System.out.println("Standard Time: " + time2c.standardTime()); + System.out.println("Military Time: " + time2c.militaryTime()); + + System.out.println("\n--- Time 2d (03:25:00) ---"); + System.out.println("Standard Time: " + time2d.standardTime()); + System.out.println("Military Time: " + time2d.militaryTime()); + + System.out.println("\n--- Time 2e (Copy of 2b: 14:12:43) ---"); + System.out.println("Standard Time: " + time2e.standardTime()); + System.out.println("Military Time: " + time2e.militaryTime()); + } +}