From 6b31d8545e48be69e6f24dfcadbf774bb79d4a7a Mon Sep 17 00:00:00 2001 From: wilfredainsworth Date: Mon, 2 Mar 2026 23:59:28 -0500 Subject: [PATCH 1/3] Maintenance Tracker Complete with bugs. --- src/main/java/org/codedifferently/Main.java | 78 ++++++++++++-- .../codedifferently/MaintenanceOffice.java | 101 ++++++++++++++++++ .../codedifferently/MaintenanceRequest.java | 64 +++++++++++ 3 files changed, 234 insertions(+), 9 deletions(-) create mode 100644 src/main/java/org/codedifferently/MaintenanceOffice.java create mode 100644 src/main/java/org/codedifferently/MaintenanceRequest.java diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 435139b..3b9c3bf 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -1,17 +1,77 @@ package org.codedifferently; +import java.util.Scanner; + //TIP To Run code, press or // click the icon in the gutter. public class Main { public static void main(String[] args) { - //TIP Press with your caret at the highlighted text - // to see how IntelliJ IDEA suggests fixing it. - System.out.printf("Hello and welcome!"); - - for (int i = 1; i <= 5; i++) { - //TIP Press to start debugging your code. We have set one breakpoint - // for you, but you can always add more by pressing . - System.out.println("i = " + i); + + Scanner input = new Scanner(System.in); + MaintenanceOffice office = new MaintenanceOffice(); + + MaintenanceRequest request1 = + new MaintenanceRequest("Freddy", 112, "Plumbing", 3); + MaintenanceRequest request2 = + new MaintenanceRequest("Paul", 306, "Electrical", 4); + MaintenanceRequest request3 = + new MaintenanceRequest("Elana", 971, "HVAC", 5); + + office.addRequest(request1); + office.addRequest(request2); + office.addRequest(request3); + + System.out.println("Initial Requests:"); + for (int i = 0; i < office.getRequests().size(); i++) { + System.out.println(office.getRequests()); + if (office.getRequests().get(i).getSeverity() >= 4) { + System.out.println("HIGH PRIORITY"); + } + for (MaintenanceRequest request : office.getRequests()) { + System.out.println(request); + System.out.println(office.getRequests()); + } + } + + + while (true) { + System.out.println("\nEnter tenant name (or type 'done'):"); + String name = input.nextLine(); + if (name.equalsIgnoreCase("done")) + break; + System.out.println("Apartment number:"); + int aptNum = input.nextInt(); + System.out.println("Issue type:"); + String issue = input.nextLine(); + System.out.println("Severity (1-5):"); + int severity = input.nextInt(); + input.nextLine(); + + MaintenanceRequest newRequest = new MaintenanceRequest(name, aptNum, issue, severity); + office.addRequest(newRequest); + + System.out.println("Request logged successfully!"); + + if (issue.equals("Electrical") && severity >= 4) { + System.out.println("Electrical high severity warning!"); + } + + if (severity == 5) { + System.out.println("Dispatching immediately!"); + office.assignTech(newRequest); + } + } + + for (MaintenanceRequest request : office.getRequests()) { + if (request.getStatus().equals("NEW")) { + office.assignTech(request); + } + } + + office.getRequests().getFirst().setStatus("DONE"); + + office.dailyReport(); + + input.close(); } } -} \ No newline at end of file diff --git a/src/main/java/org/codedifferently/MaintenanceOffice.java b/src/main/java/org/codedifferently/MaintenanceOffice.java new file mode 100644 index 0000000..d0809a3 --- /dev/null +++ b/src/main/java/org/codedifferently/MaintenanceOffice.java @@ -0,0 +1,101 @@ +package org.codedifferently; + +import java.util.ArrayList; + +public class MaintenanceOffice { + + private ArrayList requests = new ArrayList<>(); + + public MaintenanceOffice() { + requests = new ArrayList<>(); + } + + //Creating a method to add to the array list + public void addRequest(MaintenanceRequest request) { + requests.add(request); + } + + public void assignTech(MaintenanceRequest request) { + if (request.getSeverity() >= 4) { + request.setStatus("IN PROGRESS"); + System.out.println("Senior tech assigned."); + } else { + request.setStatus("IN PROGRESS"); + System.out.println("Standard tech assigned."); + } + } + + public void closeRequest(MaintenanceRequest request) { + if (request.getStatus().equals("DONE")) { + System.out.println("Request successfully closed."); + } else { + System.out.println("Cannot close request unless status is DONE."); + } + } + + public void dailyReport() { + + int open = 0; + int closed = 0; + int low = 0; + int medium = 0; + int high = 0; + + ArrayList issueTypes = new ArrayList<>(); + ArrayList issueCounts = new ArrayList<>(); + + for (MaintenanceRequest request : requests) { + + if (request.getStatus().equals("DONE")) + closed++; + else + open++; + + if (request.getSeverity() <= 2) + low++; + else if (request.getSeverity() == 3) + medium++; + else + high++; + + String currentIssue = request.getIssueType(); + + if (issueTypes.contains(currentIssue)) { + int index = issueTypes.indexOf(currentIssue); + issueCounts.set(index, issueCounts.get(index) + 1); + } else { + issueTypes.add(currentIssue); + issueCounts.add(1); + } + } + + String mostCommon = ""; + int max = 0; + + for (int i = 0; i < issueCounts.size(); i++) { + if (issueCounts.get(i) > max) { + max = issueCounts.get(i); + mostCommon = issueTypes.get(i); + } + } + + System.out.println("\n--- DAILY REPORT ---"); + System.out.println("Total Requests: " + requests.size()); + System.out.println("Open: " + open); + System.out.println("Closed: " + closed); + System.out.println("Low Severity: " + low); + System.out.println("Medium Severity: " + medium); + System.out.println("High Severity: " + high); + System.out.println("Most Common Issue: " + mostCommon); + + if (high > 3) { + System.out.println("OVERLOAD WARNING: Too many high priority requests!"); + } + } + + public ArrayList getRequests() { + + return requests; + } +} + diff --git a/src/main/java/org/codedifferently/MaintenanceRequest.java b/src/main/java/org/codedifferently/MaintenanceRequest.java new file mode 100644 index 0000000..7b57a60 --- /dev/null +++ b/src/main/java/org/codedifferently/MaintenanceRequest.java @@ -0,0 +1,64 @@ +package org.codedifferently; + +public class MaintenanceRequest { + String tenantName; + int aptNumber; + String issueType; + int severity; + String status; + + public MaintenanceRequest() { + this.status = "NEW"; + } + + public MaintenanceRequest(String tenantName, int aptNumber, String issueType, int severity) { + this.tenantName = tenantName; + this.aptNumber = aptNumber; + this.issueType = issueType; + this.severity = severity; + this.status = "NEW"; + } + + //getters & setters + + + public String getTenantName() { + return tenantName; + } + + public void setTenantName(String tenantName) { + this.tenantName = tenantName; + } + + public int getAptNumber() { + return aptNumber; + } + + public void setAptNumber(int aptNumber) { + this.aptNumber = aptNumber; + } + + public String getIssueType() { + return issueType; + } + + public void setIssueType(String issueType) { + this.issueType = issueType; + } + + public int getSeverity() { + return severity; + } + + public void setSeverity(int severity) { + this.severity = severity; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} From 3bf693d4cb6dafd04e77642019b531ed89d16420 Mon Sep 17 00:00:00 2001 From: wilfredainsworth Date: Tue, 3 Mar 2026 15:10:44 -0500 Subject: [PATCH 2/3] Maintenance Tracker updated/fixed bug. --- src/main/java/org/codedifferently/Main.java | 41 +++++++------------ .../codedifferently/MaintenanceOffice.java | 27 ++++++------ 2 files changed, 28 insertions(+), 40 deletions(-) diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 3b9c3bf..ce74f21 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -7,7 +7,7 @@ public class Main { public static void main(String[] args) { - Scanner input = new Scanner(System.in); + Scanner sc = new Scanner(System.in); MaintenanceOffice office = new MaintenanceOffice(); MaintenanceRequest request1 = @@ -22,30 +22,21 @@ public static void main(String[] args) { office.addRequest(request3); System.out.println("Initial Requests:"); - for (int i = 0; i < office.getRequests().size(); i++) { - System.out.println(office.getRequests()); - if (office.getRequests().get(i).getSeverity() >= 4) { - System.out.println("HIGH PRIORITY"); - } - for (MaintenanceRequest request : office.getRequests()) { - System.out.println(request); - System.out.println(office.getRequests()); - } - } - + office.getRequests(); while (true) { System.out.println("\nEnter tenant name (or type 'done'):"); - String name = input.nextLine(); + String name = sc.nextLine(); if (name.equalsIgnoreCase("done")) break; System.out.println("Apartment number:"); - int aptNum = input.nextInt(); + int aptNum = sc.nextInt(); System.out.println("Issue type:"); - String issue = input.nextLine(); + String issue2 = sc.nextLine(); + String issue = sc.nextLine(); System.out.println("Severity (1-5):"); - int severity = input.nextInt(); - input.nextLine(); + int severity = sc.nextInt(); + sc.nextLine(); MaintenanceRequest newRequest = new MaintenanceRequest(name, aptNum, issue, severity); office.addRequest(newRequest); @@ -61,17 +52,13 @@ public static void main(String[] args) { office.assignTech(newRequest); } } - - for (MaintenanceRequest request : office.getRequests()) { - if (request.getStatus().equals("NEW")) { - office.assignTech(request); - } - } - +// for (MaintenanceRequest request : office.getRequests()) { +// if (request.getStatus().equals("NEW")) { +// office.assignTech(request); +// } +// } office.getRequests().getFirst().setStatus("DONE"); - office.dailyReport(); - - input.close(); + sc.close(); } } diff --git a/src/main/java/org/codedifferently/MaintenanceOffice.java b/src/main/java/org/codedifferently/MaintenanceOffice.java index d0809a3..afd81c0 100644 --- a/src/main/java/org/codedifferently/MaintenanceOffice.java +++ b/src/main/java/org/codedifferently/MaintenanceOffice.java @@ -6,6 +6,8 @@ public class MaintenanceOffice { private ArrayList requests = new ArrayList<>(); + MaintenanceRequest mr = new MaintenanceRequest(); + public MaintenanceOffice() { requests = new ArrayList<>(); } @@ -34,7 +36,6 @@ public void closeRequest(MaintenanceRequest request) { } public void dailyReport() { - int open = 0; int closed = 0; int low = 0; @@ -45,16 +46,14 @@ public void dailyReport() { ArrayList issueCounts = new ArrayList<>(); for (MaintenanceRequest request : requests) { - - if (request.getStatus().equals("DONE")) - closed++; + if (request.getStatus().equals("DONE")){ + closed++;} else open++; - - if (request.getSeverity() <= 2) - low++; - else if (request.getSeverity() == 3) - medium++; + if (request.getSeverity() <= 2){ + low++;} + else if (request.getSeverity() == 3){ + medium++;} else high++; @@ -79,7 +78,7 @@ else if (request.getSeverity() == 3) } } - System.out.println("\n--- DAILY REPORT ---"); + System.out.println("==== DAILY REPORT ===="); System.out.println("Total Requests: " + requests.size()); System.out.println("Open: " + open); System.out.println("Closed: " + closed); @@ -93,9 +92,11 @@ else if (request.getSeverity() == 3) } } - public ArrayList getRequests() { - - return requests; + public void getRequests() { + for (MaintenanceRequest r : requests) { + System.out.println("Tenant Name: "+r.getTenantName()+"\nApt # "+ r.getAptNumber()+"\nIssue Type: "+r.getIssueType()+"\nSeverity level: "+r.getSeverity()); + System.out.println("==============================="); + } } } From 2a21695c6afd999b107d55b1bb97660075c1c52f Mon Sep 17 00:00:00 2001 From: wilfredainsworth Date: Sat, 7 Mar 2026 00:47:11 -0500 Subject: [PATCH 3/3] Maintenance Tracker updated/fixed bug. --- src/main/java/org/codedifferently/Main.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index ce74f21..6743b63 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -32,7 +32,6 @@ public static void main(String[] args) { System.out.println("Apartment number:"); int aptNum = sc.nextInt(); System.out.println("Issue type:"); - String issue2 = sc.nextLine(); String issue = sc.nextLine(); System.out.println("Severity (1-5):"); int severity = sc.nextInt(); @@ -52,12 +51,7 @@ public static void main(String[] args) { office.assignTech(newRequest); } } -// for (MaintenanceRequest request : office.getRequests()) { -// if (request.getStatus().equals("NEW")) { -// office.assignTech(request); -// } -// } - office.getRequests().getFirst().setStatus("DONE"); + office.getRequests(); office.dailyReport(); sc.close(); }