From 90001e32d00ffb615d0c82c258474806e4601842 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Wed, 22 Nov 2023 22:03:41 -0800 Subject: [PATCH 01/56] Update Hotel.java --- homework/src/HW1/violations/airbnb/Hotel.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/homework/src/HW1/violations/airbnb/Hotel.java b/homework/src/HW1/violations/airbnb/Hotel.java index 12db905..9ab5ea6 100644 --- a/homework/src/HW1/violations/airbnb/Hotel.java +++ b/homework/src/HW1/violations/airbnb/Hotel.java @@ -1,9 +1,7 @@ package HW1.violations.airbnb; -public class Hotel { - int calculateTotalPrice(int numberOfNights) { - return numberOfNights * 100; - } +public interface Hotel { + int calculateTotalPrice(int numberOfNights); } From 13a7bb48808a8a134fabc9d9a74173e1c92a5dcc Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Wed, 22 Nov 2023 22:07:22 -0800 Subject: [PATCH 02/56] Update Hotel.java --- homework/src/HW1/violations/airbnb/Hotel.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/homework/src/HW1/violations/airbnb/Hotel.java b/homework/src/HW1/violations/airbnb/Hotel.java index 9ab5ea6..9379c4a 100644 --- a/homework/src/HW1/violations/airbnb/Hotel.java +++ b/homework/src/HW1/violations/airbnb/Hotel.java @@ -1,7 +1,10 @@ package HW1.violations.airbnb; -public interface Hotel { - int calculateTotalPrice(int numberOfNights); +public class Hotel { + int calculateTotalPrice(int numberOfNights) + { + return numberOfNights*100; + } } From ea7167524435ca483368e0a6aa841fcba3c7ed90 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:30:41 -0800 Subject: [PATCH 03/56] Create acyutaraman --- homework/src/HW1/submissions/partA/acyutaraman | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman diff --git a/homework/src/HW1/submissions/partA/acyutaraman b/homework/src/HW1/submissions/partA/acyutaraman new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman @@ -0,0 +1 @@ + From 365c8efc54ee8ce0b6b1326ed1f11e7780a4423d Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:35:11 -0800 Subject: [PATCH 04/56] Add files via upload --- .../src/HW1/submissions/partA/Account.java | 13 ++ .../HW1/submissions/partA/BookingService.java | 5 + .../submissions/partA/BookingServiceImpl.java | 9 ++ .../src/HW1/submissions/partA/Customer.java | 14 ++ .../submissions/partA/DeliveryService.java | 8 ++ .../submissions/partA/DiscountedHotel.java | 9 ++ .../HW1/submissions/partA/FiveStarHotel.java | 10 ++ .../partA/FoodDeliveryAndTrackingService.java | 20 +++ homework/src/HW1/submissions/partA/Hotel.java | 5 + homework/src/HW1/submissions/partA/Main.java | 9 ++ .../HW1/submissions/partA/PayPalGateway.java | 6 + .../submissions/partA/PaymentProcessor.java | 23 ++++ homework/src/HW1/submissions/partA/Post.java | 7 + homework/src/HW1/submissions/partA/Post1.java | 28 ++++ homework/src/HW1/submissions/partA/Post2.java | 84 ++++++++++++ .../HW1/submissions/partA/RegularHotel.java | 11 ++ .../src/HW1/submissions/partA/Restaurant.java | 14 ++ .../HW1/submissions/partA/RideManager.java | 127 ++++++++++++++++++ .../submissions/partA/TrackingService.java | 6 + 19 files changed, 408 insertions(+) create mode 100644 homework/src/HW1/submissions/partA/Account.java create mode 100644 homework/src/HW1/submissions/partA/BookingService.java create mode 100644 homework/src/HW1/submissions/partA/BookingServiceImpl.java create mode 100644 homework/src/HW1/submissions/partA/Customer.java create mode 100644 homework/src/HW1/submissions/partA/DeliveryService.java create mode 100644 homework/src/HW1/submissions/partA/DiscountedHotel.java create mode 100644 homework/src/HW1/submissions/partA/FiveStarHotel.java create mode 100644 homework/src/HW1/submissions/partA/FoodDeliveryAndTrackingService.java create mode 100644 homework/src/HW1/submissions/partA/Hotel.java create mode 100644 homework/src/HW1/submissions/partA/Main.java create mode 100644 homework/src/HW1/submissions/partA/PayPalGateway.java create mode 100644 homework/src/HW1/submissions/partA/PaymentProcessor.java create mode 100644 homework/src/HW1/submissions/partA/Post.java create mode 100644 homework/src/HW1/submissions/partA/Post1.java create mode 100644 homework/src/HW1/submissions/partA/Post2.java create mode 100644 homework/src/HW1/submissions/partA/RegularHotel.java create mode 100644 homework/src/HW1/submissions/partA/Restaurant.java create mode 100644 homework/src/HW1/submissions/partA/RideManager.java create mode 100644 homework/src/HW1/submissions/partA/TrackingService.java diff --git a/homework/src/HW1/submissions/partA/Account.java b/homework/src/HW1/submissions/partA/Account.java new file mode 100644 index 0000000..3db7919 --- /dev/null +++ b/homework/src/HW1/submissions/partA/Account.java @@ -0,0 +1,13 @@ +package paypal; + +public class Account { + private String accountID; + + public Account(String accountID) { + this.accountID = accountID; + } + + public String getAccountID() { + return accountID; + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/BookingService.java b/homework/src/HW1/submissions/partA/BookingService.java new file mode 100644 index 0000000..6c31454 --- /dev/null +++ b/homework/src/HW1/submissions/partA/BookingService.java @@ -0,0 +1,5 @@ +package airbnb; + +public interface BookingService { + int calculateTotalPrice(Hotel hotel, int numberOfNights); +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/BookingServiceImpl.java b/homework/src/HW1/submissions/partA/BookingServiceImpl.java new file mode 100644 index 0000000..b0da2c5 --- /dev/null +++ b/homework/src/HW1/submissions/partA/BookingServiceImpl.java @@ -0,0 +1,9 @@ +package airbnb; + +public class BookingServiceImpl implements BookingService { + @Override + public int calculateTotalPrice(Hotel hotel, int numberOfNights) { + int totalPrice = hotel.calculateTotalPrice(numberOfNights); + return totalPrice; + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/Customer.java b/homework/src/HW1/submissions/partA/Customer.java new file mode 100644 index 0000000..18f6958 --- /dev/null +++ b/homework/src/HW1/submissions/partA/Customer.java @@ -0,0 +1,14 @@ +package doordash; + +public class Customer { + + private String name; + + public Customer(String name) { + this.name = name; + } + + public String getName() { + return name; + } +} diff --git a/homework/src/HW1/submissions/partA/DeliveryService.java b/homework/src/HW1/submissions/partA/DeliveryService.java new file mode 100644 index 0000000..2d771cc --- /dev/null +++ b/homework/src/HW1/submissions/partA/DeliveryService.java @@ -0,0 +1,8 @@ +package doordash; + +public interface DeliveryService { + + void deliverFood(Restaurant restaurant, Customer customer); + + void cancelDelivery(Restaurant restaurant, Customer customer); +} diff --git a/homework/src/HW1/submissions/partA/DiscountedHotel.java b/homework/src/HW1/submissions/partA/DiscountedHotel.java new file mode 100644 index 0000000..328a3c4 --- /dev/null +++ b/homework/src/HW1/submissions/partA/DiscountedHotel.java @@ -0,0 +1,9 @@ +package airbnb; + +public class DiscountedHotel implements Hotel { + + @Override + public int calculateTotalPrice(int numberOfNights) { + return 100*numberOfNights - 50; + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/FiveStarHotel.java b/homework/src/HW1/submissions/partA/FiveStarHotel.java new file mode 100644 index 0000000..b504d12 --- /dev/null +++ b/homework/src/HW1/submissions/partA/FiveStarHotel.java @@ -0,0 +1,10 @@ +package airbnb; + +public class FiveStarHotel implements Hotel { + + @Override + public int calculateTotalPrice(int numberOfNights) { + return 200*numberOfNights; + } + +} diff --git a/homework/src/HW1/submissions/partA/FoodDeliveryAndTrackingService.java b/homework/src/HW1/submissions/partA/FoodDeliveryAndTrackingService.java new file mode 100644 index 0000000..022805e --- /dev/null +++ b/homework/src/HW1/submissions/partA/FoodDeliveryAndTrackingService.java @@ -0,0 +1,20 @@ +package doordash; + +public class FoodDeliveryAndTrackingService implements DeliveryService, TrackingService { + + @Override + public void deliverFood(Restaurant restaurant, Customer customer) { + System.out.println("Food delivered from " + restaurant.getName() + " to " + customer.getName()); + } + + @Override + public void trackPackage(String trackingNumber) { + System.out.println("Package with tracking number " + trackingNumber + " is being tracked."); + } + + @Override + public void cancelDelivery(Restaurant restaurant, Customer customer) { + System.out.println("Food delivery canceled: from " + restaurant.getName() + " to " + customer.getName()); + + } +} diff --git a/homework/src/HW1/submissions/partA/Hotel.java b/homework/src/HW1/submissions/partA/Hotel.java new file mode 100644 index 0000000..ee0c4b0 --- /dev/null +++ b/homework/src/HW1/submissions/partA/Hotel.java @@ -0,0 +1,5 @@ +package airbnb; + +public interface Hotel { + int calculateTotalPrice(int numberOfNights); +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/Main.java b/homework/src/HW1/submissions/partA/Main.java new file mode 100644 index 0000000..156345c --- /dev/null +++ b/homework/src/HW1/submissions/partA/Main.java @@ -0,0 +1,9 @@ +package paypal; + +public class Main { + public static void main(String[] args) { + PayPalGateway paymentProcessor = new PaymentProcessor(); + Account account = new Account("1"); + paymentProcessor.processPayment(account,100.0, 101); + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/PayPalGateway.java b/homework/src/HW1/submissions/partA/PayPalGateway.java new file mode 100644 index 0000000..0c6d8df --- /dev/null +++ b/homework/src/HW1/submissions/partA/PayPalGateway.java @@ -0,0 +1,6 @@ +package paypal; + +public interface PayPalGateway { + void processPayment(Account account, double amount); + void processPayment(Account account, double amount, double balance); +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/PaymentProcessor.java b/homework/src/HW1/submissions/partA/PaymentProcessor.java new file mode 100644 index 0000000..b43dfa0 --- /dev/null +++ b/homework/src/HW1/submissions/partA/PaymentProcessor.java @@ -0,0 +1,23 @@ +package paypal; + +public class PaymentProcessor implements PayPalGateway{ + + + + @Override + public void processPayment(Account account, double amount) { + System.out.println("Processing payment of $" + amount + " for acocunt " + account.getAccountID() + " using PayPal."); + } + + @Override + public void processPayment(Account account, double amount, double balance) { + + if(balance >= amount) + System.out.println("Processing payment of $" + amount + " for acocunt " + account.getAccountID() + " using PayPal."); + else + System.out.println("For account " + account + ": the amount you are attempting to pay is more than that which is present in your balance." ); + } + + + +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/Post.java b/homework/src/HW1/submissions/partA/Post.java new file mode 100644 index 0000000..d467018 --- /dev/null +++ b/homework/src/HW1/submissions/partA/Post.java @@ -0,0 +1,7 @@ +package facebook; + +public interface Post { + + void display(); + +} diff --git a/homework/src/HW1/submissions/partA/Post1.java b/homework/src/HW1/submissions/partA/Post1.java new file mode 100644 index 0000000..7043721 --- /dev/null +++ b/homework/src/HW1/submissions/partA/Post1.java @@ -0,0 +1,28 @@ +package facebook; + +//This was the original post class, that was implemented for our "Facebook". + +class Post1 implements Post { + private String text; + + public Post1(String text) + { + this.text = text; + } + + public void setText(String text) + { + this.text = text; + } + + public String getText() + { + return text; + } + // Constructor, getters, and setters for text + + public void display() { + System.out.println(text); + // Code for displaying text post + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/Post2.java b/homework/src/HW1/submissions/partA/Post2.java new file mode 100644 index 0000000..bd08ac8 --- /dev/null +++ b/homework/src/HW1/submissions/partA/Post2.java @@ -0,0 +1,84 @@ +package facebook; + + +//This is the new post class, that was implemented for our "Facebook" to help support images and videos. + +public class Post2 implements Post{ + + private String text; + private String imageUrl; + + private String videoUrl; + private boolean isImage; + + private boolean isVideo; + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public String getVideoUrl() { + return videoUrl; + } + + public void setVideoUrl(String videoUrl) { + this.videoUrl = videoUrl; + } + + public boolean isImage() { + return isImage; + } + + public void setImage(boolean image) { + isImage = image; + } + + public boolean isVideo() { + return isVideo; + } + + public void setVideo(boolean video) { + isVideo = video; + } + + public Post2(String text) { + this.text = text; + } + + public Post2(String imageUrl, boolean isImage) { + if(isImage) { + this.imageUrl = imageUrl; + this.isImage = true; + } + } + + public Post2(String videoUrl, boolean isImage, boolean isVideo){ + if(isVideo && !isImage) { + this.videoUrl = videoUrl; + this.isImage = false; + this.isVideo = true; + } + } + + + public void display() { + + if(isImage()) + System.out.println(imageUrl); + if(isVideo()) + System.out.println(videoUrl); + System.out.println(text); + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/RegularHotel.java b/homework/src/HW1/submissions/partA/RegularHotel.java new file mode 100644 index 0000000..06564d6 --- /dev/null +++ b/homework/src/HW1/submissions/partA/RegularHotel.java @@ -0,0 +1,11 @@ +package airbnb; + +public class RegularHotel implements Hotel{ + + @Override + public int calculateTotalPrice(int numberOfNights) { + + return 100*numberOfNights; + } + +} diff --git a/homework/src/HW1/submissions/partA/Restaurant.java b/homework/src/HW1/submissions/partA/Restaurant.java new file mode 100644 index 0000000..c233573 --- /dev/null +++ b/homework/src/HW1/submissions/partA/Restaurant.java @@ -0,0 +1,14 @@ +package doordash; + +public class Restaurant { + + private String name; + + public Restaurant(String name) { + this.name = name; + } + + public String getName() { + return name; + } +} diff --git a/homework/src/HW1/submissions/partA/RideManager.java b/homework/src/HW1/submissions/partA/RideManager.java new file mode 100644 index 0000000..84d1ab7 --- /dev/null +++ b/homework/src/HW1/submissions/partA/RideManager.java @@ -0,0 +1,127 @@ +package uber; + +import java.util.Stack; + +class RideManager { + private final double BASE_FARE = 5.0; // Base fare in dollars + private final double PER_MILE_RATE = 2.0; // Fare per mile in dollars + private final double PER_MINUTE_RATE = 0.5; // Fare per minute in dollars + + RideCalculator rd = new RideCalculator(BASE_FARE, PER_MILE_RATE, PER_MINUTE_RATE); + NotificationSender nf = new NotificationSender(); + double calculateRideFare(Ride ride) { + return rd.calculateRideFare(ride); + } + + void sendNotification(User user, String message) { + // Code for sending notifications to the user + + nf.sendNotification(user, message); + } + + + +} + +class NotificationSender { + + void sendNotification(User user, String message) + { + user.addMessage(message); + System.out.println("Notification sent to user: " + user.getUsername() + " - " + message); + } +} + +class RideCalculator { + + double base; + double milerate; + double minuterate; + + public RideCalculator(double base, double milerate, double minuterate) + { + this.base = base; + this.milerate = milerate; + this.minuterate = minuterate; + } + + public double calculateRideFare(Ride ride) + { + + + return base + milerate * ride.getDistanceInMiles() + minuterate*ride.getDurationInMinutes(); + } + + + + + +} +class Ride { + private double distanceInMiles; + private int durationInMinutes; + + public Ride(double distanceInMiles, int durationInMinutes) { + this.distanceInMiles = distanceInMiles; + this.durationInMinutes = durationInMinutes; + } + + + public double getDistanceInMiles() { + return distanceInMiles; + } + + public void setDistanceInMiles(double distanceInMiles) { + this.distanceInMiles = distanceInMiles; + } + + public int getDurationInMinutes() { + return durationInMinutes; + } + + public void setDurationInMinutes(int durationInMinutes) { + this.durationInMinutes = durationInMinutes; + } + + + +} + +class User { + // User details + + private Stack messages; + private String username; + + public User(String username) + { + this.username = username; + this.messages = new Stack(); + } + public String getUsername() { + return username; + } + + public String getLastMessage() + { + if(!messages.isEmpty()) + { + return messages.peek(); + } + return "No messages left"; + } + + public void addMessage(String message) + { + messages.push(message); + } + public void setInbox() + { + this.messages = new Stack(); + } + public void setUsername(String username) { + this.username = username; + } + + +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/TrackingService.java b/homework/src/HW1/submissions/partA/TrackingService.java new file mode 100644 index 0000000..4be8713 --- /dev/null +++ b/homework/src/HW1/submissions/partA/TrackingService.java @@ -0,0 +1,6 @@ +package doordash; + +public interface TrackingService { + + void trackPackage(String trackingNumber); +} From be0acefabbd4ced37e18792c6ee498c5ef901b83 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:54:50 -0800 Subject: [PATCH 05/56] Create .gitkeep --- homework/src/HW1/submissions/partA/acyutaramanw/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaramanw/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaramanw/.gitkeep b/homework/src/HW1/submissions/partA/acyutaramanw/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaramanw/.gitkeep @@ -0,0 +1 @@ + From 294fe0a4c3fbacc4545e492d8c0fd865286f66e2 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:55:23 -0800 Subject: [PATCH 06/56] Delete homework/src/HW1/submissions/partA/acyutaraman --- homework/src/HW1/submissions/partA/acyutaraman | 1 - 1 file changed, 1 deletion(-) delete mode 100644 homework/src/HW1/submissions/partA/acyutaraman diff --git a/homework/src/HW1/submissions/partA/acyutaraman b/homework/src/HW1/submissions/partA/acyutaraman deleted file mode 100644 index 8b13789..0000000 --- a/homework/src/HW1/submissions/partA/acyutaraman +++ /dev/null @@ -1 +0,0 @@ - From f905fc300d657b467e301ee25a627285febecc00 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:55:44 -0800 Subject: [PATCH 07/56] Create .gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/.gitkeep @@ -0,0 +1 @@ + From 9be5f5ca4b616062729df3ad327b917a34911170 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:56:18 -0800 Subject: [PATCH 08/56] Delete homework/src/HW1/submissions/partA/acyutaraman/.gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/.gitkeep | 1 - 1 file changed, 1 deletion(-) delete mode 100644 homework/src/HW1/submissions/partA/acyutaraman/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/.gitkeep deleted file mode 100644 index 8b13789..0000000 --- a/homework/src/HW1/submissions/partA/acyutaraman/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - From 8170d344f5cc56c15fe321b8ae87f35fcb42de8d Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:56:36 -0800 Subject: [PATCH 09/56] Create .gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/.gitkeep @@ -0,0 +1 @@ + From bf691f3365fca9a98f50dfd81b24db02386c850d Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:56:50 -0800 Subject: [PATCH 10/56] Create .gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep @@ -0,0 +1 @@ + From bd6bc4f35219dc8d6575f126da8da3fa36c4efc8 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:57:09 -0800 Subject: [PATCH 11/56] Create .gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep @@ -0,0 +1 @@ + From adbe86f491a4c389ca70d46bba3e51ff8f3fad0a Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:57:32 -0800 Subject: [PATCH 12/56] Create .gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep @@ -0,0 +1 @@ + From 7e5077930b7dcaadb8d4e00ae82a1ee91ecc41ad Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:57:48 -0800 Subject: [PATCH 13/56] Create .gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep @@ -0,0 +1 @@ + From bb729da44042d5600720b3f1c8303a4f68c62f1b Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:58:14 -0800 Subject: [PATCH 14/56] Create .gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep @@ -0,0 +1 @@ + From 55cbf6744e94bee84568f7972f734f4803288239 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:00:19 -0800 Subject: [PATCH 15/56] Add files via upload --- .../acyutaraman/airbnb/BookingService.java | 5 +++++ .../airbnb/BookingServiceImpl.java | 9 ++++++++ .../acyutaraman/airbnb/DiscountedHotel.java | 9 ++++++++ .../acyutaraman/airbnb/FiveStarHotel.java | 10 +++++++++ .../partA/acyutaraman/airbnb/Hotel.java | 5 +++++ .../partA/acyutaraman/airbnb/Main.java | 21 +++++++++++++++++++ .../acyutaraman/airbnb/RegularHotel.java | 11 ++++++++++ 7 files changed, 70 insertions(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/airbnb/BookingService.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/airbnb/BookingServiceImpl.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/airbnb/DiscountedHotel.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/airbnb/FiveStarHotel.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/airbnb/Hotel.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/airbnb/Main.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/airbnb/RegularHotel.java diff --git a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/BookingService.java b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/BookingService.java new file mode 100644 index 0000000..6c31454 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/BookingService.java @@ -0,0 +1,5 @@ +package airbnb; + +public interface BookingService { + int calculateTotalPrice(Hotel hotel, int numberOfNights); +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/BookingServiceImpl.java b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/BookingServiceImpl.java new file mode 100644 index 0000000..b0da2c5 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/BookingServiceImpl.java @@ -0,0 +1,9 @@ +package airbnb; + +public class BookingServiceImpl implements BookingService { + @Override + public int calculateTotalPrice(Hotel hotel, int numberOfNights) { + int totalPrice = hotel.calculateTotalPrice(numberOfNights); + return totalPrice; + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/DiscountedHotel.java b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/DiscountedHotel.java new file mode 100644 index 0000000..328a3c4 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/DiscountedHotel.java @@ -0,0 +1,9 @@ +package airbnb; + +public class DiscountedHotel implements Hotel { + + @Override + public int calculateTotalPrice(int numberOfNights) { + return 100*numberOfNights - 50; + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/FiveStarHotel.java b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/FiveStarHotel.java new file mode 100644 index 0000000..b504d12 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/FiveStarHotel.java @@ -0,0 +1,10 @@ +package airbnb; + +public class FiveStarHotel implements Hotel { + + @Override + public int calculateTotalPrice(int numberOfNights) { + return 200*numberOfNights; + } + +} diff --git a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/Hotel.java b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/Hotel.java new file mode 100644 index 0000000..ee0c4b0 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/Hotel.java @@ -0,0 +1,5 @@ +package airbnb; + +public interface Hotel { + int calculateTotalPrice(int numberOfNights); +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/Main.java b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/Main.java new file mode 100644 index 0000000..20a89d4 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/Main.java @@ -0,0 +1,21 @@ +package airbnb; + +public class Main { + public static void main(String[] args) { + Hotel regularHotel = new RegularHotel(); + Hotel discountedHotel = new DiscountedHotel(); + Hotel fiveStarHotel = new FiveStarHotel(); + + BookingService bookingService = new BookingServiceImpl(); + int regularHotelTotalPrice = bookingService.calculateTotalPrice(regularHotel, 3); + int discountedHotelTotalPrice = bookingService.calculateTotalPrice(discountedHotel, 3); + int fiveStarHotelTotalPrice = bookingService.calculateTotalPrice(fiveStarHotel, 3); + + System.out.println("Regular Hotel Total Price: $" + regularHotelTotalPrice); + System.out.println("Discounted Hotel Total Price: $" + discountedHotelTotalPrice); + System.out.println("Five Star Hotel Total Price: $" + fiveStarHotelTotalPrice); + + + + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/RegularHotel.java b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/RegularHotel.java new file mode 100644 index 0000000..06564d6 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/RegularHotel.java @@ -0,0 +1,11 @@ +package airbnb; + +public class RegularHotel implements Hotel{ + + @Override + public int calculateTotalPrice(int numberOfNights) { + + return 100*numberOfNights; + } + +} From 1b1891765bf7004bb2ccfc236b9046ad34ef361b Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:01:18 -0800 Subject: [PATCH 16/56] Add files via upload --- .../partA/acyutaraman/doordash/Customer.java | 14 +++++++++++++ .../acyutaraman/doordash/DeliveryService.java | 8 ++++++++ .../FoodDeliveryAndTrackingService.java | 20 +++++++++++++++++++ .../acyutaraman/doordash/Restaurant.java | 14 +++++++++++++ .../acyutaraman/doordash/TrackingService.java | 6 ++++++ 5 files changed, 62 insertions(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/doordash/Customer.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/doordash/DeliveryService.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/doordash/FoodDeliveryAndTrackingService.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/doordash/Restaurant.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/doordash/TrackingService.java diff --git a/homework/src/HW1/submissions/partA/acyutaraman/doordash/Customer.java b/homework/src/HW1/submissions/partA/acyutaraman/doordash/Customer.java new file mode 100644 index 0000000..18f6958 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/doordash/Customer.java @@ -0,0 +1,14 @@ +package doordash; + +public class Customer { + + private String name; + + public Customer(String name) { + this.name = name; + } + + public String getName() { + return name; + } +} diff --git a/homework/src/HW1/submissions/partA/acyutaraman/doordash/DeliveryService.java b/homework/src/HW1/submissions/partA/acyutaraman/doordash/DeliveryService.java new file mode 100644 index 0000000..2d771cc --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/doordash/DeliveryService.java @@ -0,0 +1,8 @@ +package doordash; + +public interface DeliveryService { + + void deliverFood(Restaurant restaurant, Customer customer); + + void cancelDelivery(Restaurant restaurant, Customer customer); +} diff --git a/homework/src/HW1/submissions/partA/acyutaraman/doordash/FoodDeliveryAndTrackingService.java b/homework/src/HW1/submissions/partA/acyutaraman/doordash/FoodDeliveryAndTrackingService.java new file mode 100644 index 0000000..022805e --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/doordash/FoodDeliveryAndTrackingService.java @@ -0,0 +1,20 @@ +package doordash; + +public class FoodDeliveryAndTrackingService implements DeliveryService, TrackingService { + + @Override + public void deliverFood(Restaurant restaurant, Customer customer) { + System.out.println("Food delivered from " + restaurant.getName() + " to " + customer.getName()); + } + + @Override + public void trackPackage(String trackingNumber) { + System.out.println("Package with tracking number " + trackingNumber + " is being tracked."); + } + + @Override + public void cancelDelivery(Restaurant restaurant, Customer customer) { + System.out.println("Food delivery canceled: from " + restaurant.getName() + " to " + customer.getName()); + + } +} diff --git a/homework/src/HW1/submissions/partA/acyutaraman/doordash/Restaurant.java b/homework/src/HW1/submissions/partA/acyutaraman/doordash/Restaurant.java new file mode 100644 index 0000000..c233573 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/doordash/Restaurant.java @@ -0,0 +1,14 @@ +package doordash; + +public class Restaurant { + + private String name; + + public Restaurant(String name) { + this.name = name; + } + + public String getName() { + return name; + } +} diff --git a/homework/src/HW1/submissions/partA/acyutaraman/doordash/TrackingService.java b/homework/src/HW1/submissions/partA/acyutaraman/doordash/TrackingService.java new file mode 100644 index 0000000..4be8713 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/doordash/TrackingService.java @@ -0,0 +1,6 @@ +package doordash; + +public interface TrackingService { + + void trackPackage(String trackingNumber); +} From 85b27afebf8e14c7d6e3a8298970c91559e370eb Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:02:24 -0800 Subject: [PATCH 17/56] Add files via upload --- .../partA/acyutaraman/facebook/Post.java | 7 ++ .../partA/acyutaraman/facebook/Post1.java | 28 +++++++ .../partA/acyutaraman/facebook/Post2.java | 84 +++++++++++++++++++ 3 files changed, 119 insertions(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/facebook/Post.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/facebook/Post1.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/facebook/Post2.java diff --git a/homework/src/HW1/submissions/partA/acyutaraman/facebook/Post.java b/homework/src/HW1/submissions/partA/acyutaraman/facebook/Post.java new file mode 100644 index 0000000..d467018 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/facebook/Post.java @@ -0,0 +1,7 @@ +package facebook; + +public interface Post { + + void display(); + +} diff --git a/homework/src/HW1/submissions/partA/acyutaraman/facebook/Post1.java b/homework/src/HW1/submissions/partA/acyutaraman/facebook/Post1.java new file mode 100644 index 0000000..7043721 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/facebook/Post1.java @@ -0,0 +1,28 @@ +package facebook; + +//This was the original post class, that was implemented for our "Facebook". + +class Post1 implements Post { + private String text; + + public Post1(String text) + { + this.text = text; + } + + public void setText(String text) + { + this.text = text; + } + + public String getText() + { + return text; + } + // Constructor, getters, and setters for text + + public void display() { + System.out.println(text); + // Code for displaying text post + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/acyutaraman/facebook/Post2.java b/homework/src/HW1/submissions/partA/acyutaraman/facebook/Post2.java new file mode 100644 index 0000000..bd08ac8 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/facebook/Post2.java @@ -0,0 +1,84 @@ +package facebook; + + +//This is the new post class, that was implemented for our "Facebook" to help support images and videos. + +public class Post2 implements Post{ + + private String text; + private String imageUrl; + + private String videoUrl; + private boolean isImage; + + private boolean isVideo; + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public String getVideoUrl() { + return videoUrl; + } + + public void setVideoUrl(String videoUrl) { + this.videoUrl = videoUrl; + } + + public boolean isImage() { + return isImage; + } + + public void setImage(boolean image) { + isImage = image; + } + + public boolean isVideo() { + return isVideo; + } + + public void setVideo(boolean video) { + isVideo = video; + } + + public Post2(String text) { + this.text = text; + } + + public Post2(String imageUrl, boolean isImage) { + if(isImage) { + this.imageUrl = imageUrl; + this.isImage = true; + } + } + + public Post2(String videoUrl, boolean isImage, boolean isVideo){ + if(isVideo && !isImage) { + this.videoUrl = videoUrl; + this.isImage = false; + this.isVideo = true; + } + } + + + public void display() { + + if(isImage()) + System.out.println(imageUrl); + if(isVideo()) + System.out.println(videoUrl); + System.out.println(text); + } +} \ No newline at end of file From 579e08ec13784ba86258ef8de137ca829bb58553 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:03:01 -0800 Subject: [PATCH 18/56] Add files via upload --- .../partA/acyutaraman/paypal/Account.java | 13 +++++++++++ .../partA/acyutaraman/paypal/Main.java | 9 ++++++++ .../acyutaraman/paypal/PayPalGateway.java | 6 +++++ .../acyutaraman/paypal/PaymentProcessor.java | 23 +++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/paypal/Account.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/paypal/Main.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/paypal/PayPalGateway.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/paypal/PaymentProcessor.java diff --git a/homework/src/HW1/submissions/partA/acyutaraman/paypal/Account.java b/homework/src/HW1/submissions/partA/acyutaraman/paypal/Account.java new file mode 100644 index 0000000..3db7919 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/paypal/Account.java @@ -0,0 +1,13 @@ +package paypal; + +public class Account { + private String accountID; + + public Account(String accountID) { + this.accountID = accountID; + } + + public String getAccountID() { + return accountID; + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/acyutaraman/paypal/Main.java b/homework/src/HW1/submissions/partA/acyutaraman/paypal/Main.java new file mode 100644 index 0000000..156345c --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/paypal/Main.java @@ -0,0 +1,9 @@ +package paypal; + +public class Main { + public static void main(String[] args) { + PayPalGateway paymentProcessor = new PaymentProcessor(); + Account account = new Account("1"); + paymentProcessor.processPayment(account,100.0, 101); + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/acyutaraman/paypal/PayPalGateway.java b/homework/src/HW1/submissions/partA/acyutaraman/paypal/PayPalGateway.java new file mode 100644 index 0000000..0c6d8df --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/paypal/PayPalGateway.java @@ -0,0 +1,6 @@ +package paypal; + +public interface PayPalGateway { + void processPayment(Account account, double amount); + void processPayment(Account account, double amount, double balance); +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/acyutaraman/paypal/PaymentProcessor.java b/homework/src/HW1/submissions/partA/acyutaraman/paypal/PaymentProcessor.java new file mode 100644 index 0000000..b43dfa0 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/paypal/PaymentProcessor.java @@ -0,0 +1,23 @@ +package paypal; + +public class PaymentProcessor implements PayPalGateway{ + + + + @Override + public void processPayment(Account account, double amount) { + System.out.println("Processing payment of $" + amount + " for acocunt " + account.getAccountID() + " using PayPal."); + } + + @Override + public void processPayment(Account account, double amount, double balance) { + + if(balance >= amount) + System.out.println("Processing payment of $" + amount + " for acocunt " + account.getAccountID() + " using PayPal."); + else + System.out.println("For account " + account + ": the amount you are attempting to pay is more than that which is present in your balance." ); + } + + + +} \ No newline at end of file From f11d24227d75744237ca15e2743b0da8369b718b Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:03:42 -0800 Subject: [PATCH 19/56] Add files via upload --- .../partA/acyutaraman/uber/Main.java | 15 +++ .../partA/acyutaraman/uber/RideManager.java | 127 ++++++++++++++++++ 2 files changed, 142 insertions(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/uber/Main.java create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/uber/RideManager.java diff --git a/homework/src/HW1/submissions/partA/acyutaraman/uber/Main.java b/homework/src/HW1/submissions/partA/acyutaraman/uber/Main.java new file mode 100644 index 0000000..d597694 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/uber/Main.java @@ -0,0 +1,15 @@ +package uber; + +public class Main { + public static void main(String[] args) { + Ride ride = new Ride(1,1); + User user = new User("jill"); + user.setUsername("john_doe"); + + RideManager rideManager = new RideManager(); + + double fare = rideManager.calculateRideFare(ride); + + rideManager.sendNotification(user, "Your ride fare is: $" + fare); + } +} \ No newline at end of file diff --git a/homework/src/HW1/submissions/partA/acyutaraman/uber/RideManager.java b/homework/src/HW1/submissions/partA/acyutaraman/uber/RideManager.java new file mode 100644 index 0000000..84d1ab7 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/uber/RideManager.java @@ -0,0 +1,127 @@ +package uber; + +import java.util.Stack; + +class RideManager { + private final double BASE_FARE = 5.0; // Base fare in dollars + private final double PER_MILE_RATE = 2.0; // Fare per mile in dollars + private final double PER_MINUTE_RATE = 0.5; // Fare per minute in dollars + + RideCalculator rd = new RideCalculator(BASE_FARE, PER_MILE_RATE, PER_MINUTE_RATE); + NotificationSender nf = new NotificationSender(); + double calculateRideFare(Ride ride) { + return rd.calculateRideFare(ride); + } + + void sendNotification(User user, String message) { + // Code for sending notifications to the user + + nf.sendNotification(user, message); + } + + + +} + +class NotificationSender { + + void sendNotification(User user, String message) + { + user.addMessage(message); + System.out.println("Notification sent to user: " + user.getUsername() + " - " + message); + } +} + +class RideCalculator { + + double base; + double milerate; + double minuterate; + + public RideCalculator(double base, double milerate, double minuterate) + { + this.base = base; + this.milerate = milerate; + this.minuterate = minuterate; + } + + public double calculateRideFare(Ride ride) + { + + + return base + milerate * ride.getDistanceInMiles() + minuterate*ride.getDurationInMinutes(); + } + + + + + +} +class Ride { + private double distanceInMiles; + private int durationInMinutes; + + public Ride(double distanceInMiles, int durationInMinutes) { + this.distanceInMiles = distanceInMiles; + this.durationInMinutes = durationInMinutes; + } + + + public double getDistanceInMiles() { + return distanceInMiles; + } + + public void setDistanceInMiles(double distanceInMiles) { + this.distanceInMiles = distanceInMiles; + } + + public int getDurationInMinutes() { + return durationInMinutes; + } + + public void setDurationInMinutes(int durationInMinutes) { + this.durationInMinutes = durationInMinutes; + } + + + +} + +class User { + // User details + + private Stack messages; + private String username; + + public User(String username) + { + this.username = username; + this.messages = new Stack(); + } + public String getUsername() { + return username; + } + + public String getLastMessage() + { + if(!messages.isEmpty()) + { + return messages.peek(); + } + return "No messages left"; + } + + public void addMessage(String message) + { + messages.push(message); + } + public void setInbox() + { + this.messages = new Stack(); + } + public void setUsername(String username) { + this.username = username; + } + + +} \ No newline at end of file From dc5aafc0e6b79538d0f2979a5cb4e6042b069d45 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:04:31 -0800 Subject: [PATCH 20/56] Delete homework/src/HW1/submissions/partA/Account.java --- homework/src/HW1/submissions/partA/Account.java | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/Account.java diff --git a/homework/src/HW1/submissions/partA/Account.java b/homework/src/HW1/submissions/partA/Account.java deleted file mode 100644 index 3db7919..0000000 --- a/homework/src/HW1/submissions/partA/Account.java +++ /dev/null @@ -1,13 +0,0 @@ -package paypal; - -public class Account { - private String accountID; - - public Account(String accountID) { - this.accountID = accountID; - } - - public String getAccountID() { - return accountID; - } -} \ No newline at end of file From 7d271a8f79f3d84b758f03e8ac5cb1d9dbb43525 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:04:44 -0800 Subject: [PATCH 21/56] Delete homework/src/HW1/submissions/partA/BookingService.java --- homework/src/HW1/submissions/partA/BookingService.java | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/BookingService.java diff --git a/homework/src/HW1/submissions/partA/BookingService.java b/homework/src/HW1/submissions/partA/BookingService.java deleted file mode 100644 index 6c31454..0000000 --- a/homework/src/HW1/submissions/partA/BookingService.java +++ /dev/null @@ -1,5 +0,0 @@ -package airbnb; - -public interface BookingService { - int calculateTotalPrice(Hotel hotel, int numberOfNights); -} \ No newline at end of file From 52857c941ddc97f2d16e1d092c237ef1689026c1 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:04:52 -0800 Subject: [PATCH 22/56] Delete homework/src/HW1/submissions/partA/BookingServiceImpl.java --- .../src/HW1/submissions/partA/BookingServiceImpl.java | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/BookingServiceImpl.java diff --git a/homework/src/HW1/submissions/partA/BookingServiceImpl.java b/homework/src/HW1/submissions/partA/BookingServiceImpl.java deleted file mode 100644 index b0da2c5..0000000 --- a/homework/src/HW1/submissions/partA/BookingServiceImpl.java +++ /dev/null @@ -1,9 +0,0 @@ -package airbnb; - -public class BookingServiceImpl implements BookingService { - @Override - public int calculateTotalPrice(Hotel hotel, int numberOfNights) { - int totalPrice = hotel.calculateTotalPrice(numberOfNights); - return totalPrice; - } -} \ No newline at end of file From 0c365fd88d176c1e559c1beaa344f2e1a338f648 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:05:48 -0800 Subject: [PATCH 23/56] Delete homework/src/HW1/submissions/partA/DeliveryService.java --- homework/src/HW1/submissions/partA/DeliveryService.java | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/DeliveryService.java diff --git a/homework/src/HW1/submissions/partA/DeliveryService.java b/homework/src/HW1/submissions/partA/DeliveryService.java deleted file mode 100644 index 2d771cc..0000000 --- a/homework/src/HW1/submissions/partA/DeliveryService.java +++ /dev/null @@ -1,8 +0,0 @@ -package doordash; - -public interface DeliveryService { - - void deliverFood(Restaurant restaurant, Customer customer); - - void cancelDelivery(Restaurant restaurant, Customer customer); -} From 939f84e394706d014394b1952dafb81d98cb3355 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:05:54 -0800 Subject: [PATCH 24/56] Delete homework/src/HW1/submissions/partA/Customer.java --- homework/src/HW1/submissions/partA/Customer.java | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/Customer.java diff --git a/homework/src/HW1/submissions/partA/Customer.java b/homework/src/HW1/submissions/partA/Customer.java deleted file mode 100644 index 18f6958..0000000 --- a/homework/src/HW1/submissions/partA/Customer.java +++ /dev/null @@ -1,14 +0,0 @@ -package doordash; - -public class Customer { - - private String name; - - public Customer(String name) { - this.name = name; - } - - public String getName() { - return name; - } -} From 3a886c3447323dd5f07ef85fb0c103f815c85cf6 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:06:03 -0800 Subject: [PATCH 25/56] Delete homework/src/HW1/submissions/partA/DiscountedHotel.java --- homework/src/HW1/submissions/partA/DiscountedHotel.java | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/DiscountedHotel.java diff --git a/homework/src/HW1/submissions/partA/DiscountedHotel.java b/homework/src/HW1/submissions/partA/DiscountedHotel.java deleted file mode 100644 index 328a3c4..0000000 --- a/homework/src/HW1/submissions/partA/DiscountedHotel.java +++ /dev/null @@ -1,9 +0,0 @@ -package airbnb; - -public class DiscountedHotel implements Hotel { - - @Override - public int calculateTotalPrice(int numberOfNights) { - return 100*numberOfNights - 50; - } -} \ No newline at end of file From 4b96f241b306c9aa267abe671e0b7a1916cb7ebd Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:06:10 -0800 Subject: [PATCH 26/56] Delete homework/src/HW1/submissions/partA/FiveStarHotel.java --- homework/src/HW1/submissions/partA/FiveStarHotel.java | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/FiveStarHotel.java diff --git a/homework/src/HW1/submissions/partA/FiveStarHotel.java b/homework/src/HW1/submissions/partA/FiveStarHotel.java deleted file mode 100644 index b504d12..0000000 --- a/homework/src/HW1/submissions/partA/FiveStarHotel.java +++ /dev/null @@ -1,10 +0,0 @@ -package airbnb; - -public class FiveStarHotel implements Hotel { - - @Override - public int calculateTotalPrice(int numberOfNights) { - return 200*numberOfNights; - } - -} From d576d77b082a2e37c10a8be9b252d45461137738 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:06:18 -0800 Subject: [PATCH 27/56] Delete homework/src/HW1/submissions/partA/FoodDeliveryAndTrackingService.java --- .../partA/FoodDeliveryAndTrackingService.java | 20 ------------------- 1 file changed, 20 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/FoodDeliveryAndTrackingService.java diff --git a/homework/src/HW1/submissions/partA/FoodDeliveryAndTrackingService.java b/homework/src/HW1/submissions/partA/FoodDeliveryAndTrackingService.java deleted file mode 100644 index 022805e..0000000 --- a/homework/src/HW1/submissions/partA/FoodDeliveryAndTrackingService.java +++ /dev/null @@ -1,20 +0,0 @@ -package doordash; - -public class FoodDeliveryAndTrackingService implements DeliveryService, TrackingService { - - @Override - public void deliverFood(Restaurant restaurant, Customer customer) { - System.out.println("Food delivered from " + restaurant.getName() + " to " + customer.getName()); - } - - @Override - public void trackPackage(String trackingNumber) { - System.out.println("Package with tracking number " + trackingNumber + " is being tracked."); - } - - @Override - public void cancelDelivery(Restaurant restaurant, Customer customer) { - System.out.println("Food delivery canceled: from " + restaurant.getName() + " to " + customer.getName()); - - } -} From 0d339597cc9660466145bd7255a3a96613cb584a Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:06:25 -0800 Subject: [PATCH 28/56] Delete homework/src/HW1/submissions/partA/Hotel.java --- homework/src/HW1/submissions/partA/Hotel.java | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/Hotel.java diff --git a/homework/src/HW1/submissions/partA/Hotel.java b/homework/src/HW1/submissions/partA/Hotel.java deleted file mode 100644 index ee0c4b0..0000000 --- a/homework/src/HW1/submissions/partA/Hotel.java +++ /dev/null @@ -1,5 +0,0 @@ -package airbnb; - -public interface Hotel { - int calculateTotalPrice(int numberOfNights); -} \ No newline at end of file From be702e3a7fabed33a9cb2f51960f14872f173e15 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:06:33 -0800 Subject: [PATCH 29/56] Delete homework/src/HW1/submissions/partA/Main.java --- homework/src/HW1/submissions/partA/Main.java | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/Main.java diff --git a/homework/src/HW1/submissions/partA/Main.java b/homework/src/HW1/submissions/partA/Main.java deleted file mode 100644 index 156345c..0000000 --- a/homework/src/HW1/submissions/partA/Main.java +++ /dev/null @@ -1,9 +0,0 @@ -package paypal; - -public class Main { - public static void main(String[] args) { - PayPalGateway paymentProcessor = new PaymentProcessor(); - Account account = new Account("1"); - paymentProcessor.processPayment(account,100.0, 101); - } -} \ No newline at end of file From e0667aeebe51b854591fccc17813313d6be38ef0 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:06:40 -0800 Subject: [PATCH 30/56] Delete homework/src/HW1/submissions/partA/PayPalGateway.java --- homework/src/HW1/submissions/partA/PayPalGateway.java | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/PayPalGateway.java diff --git a/homework/src/HW1/submissions/partA/PayPalGateway.java b/homework/src/HW1/submissions/partA/PayPalGateway.java deleted file mode 100644 index 0c6d8df..0000000 --- a/homework/src/HW1/submissions/partA/PayPalGateway.java +++ /dev/null @@ -1,6 +0,0 @@ -package paypal; - -public interface PayPalGateway { - void processPayment(Account account, double amount); - void processPayment(Account account, double amount, double balance); -} \ No newline at end of file From 706e4bd77bdb9f34cbbbf164500848eca093277d Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:06:46 -0800 Subject: [PATCH 31/56] Delete homework/src/HW1/submissions/partA/PaymentProcessor.java --- .../submissions/partA/PaymentProcessor.java | 23 ------------------- 1 file changed, 23 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/PaymentProcessor.java diff --git a/homework/src/HW1/submissions/partA/PaymentProcessor.java b/homework/src/HW1/submissions/partA/PaymentProcessor.java deleted file mode 100644 index b43dfa0..0000000 --- a/homework/src/HW1/submissions/partA/PaymentProcessor.java +++ /dev/null @@ -1,23 +0,0 @@ -package paypal; - -public class PaymentProcessor implements PayPalGateway{ - - - - @Override - public void processPayment(Account account, double amount) { - System.out.println("Processing payment of $" + amount + " for acocunt " + account.getAccountID() + " using PayPal."); - } - - @Override - public void processPayment(Account account, double amount, double balance) { - - if(balance >= amount) - System.out.println("Processing payment of $" + amount + " for acocunt " + account.getAccountID() + " using PayPal."); - else - System.out.println("For account " + account + ": the amount you are attempting to pay is more than that which is present in your balance." ); - } - - - -} \ No newline at end of file From c94995678b3ebe21512161f3f82bafb843bc9914 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:06:52 -0800 Subject: [PATCH 32/56] Delete homework/src/HW1/submissions/partA/Post.java --- homework/src/HW1/submissions/partA/Post.java | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/Post.java diff --git a/homework/src/HW1/submissions/partA/Post.java b/homework/src/HW1/submissions/partA/Post.java deleted file mode 100644 index d467018..0000000 --- a/homework/src/HW1/submissions/partA/Post.java +++ /dev/null @@ -1,7 +0,0 @@ -package facebook; - -public interface Post { - - void display(); - -} From eb12f85cfc0a0c5a85e62ea28322c54eb547ba14 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:06:59 -0800 Subject: [PATCH 33/56] Delete homework/src/HW1/submissions/partA/Post1.java --- homework/src/HW1/submissions/partA/Post1.java | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/Post1.java diff --git a/homework/src/HW1/submissions/partA/Post1.java b/homework/src/HW1/submissions/partA/Post1.java deleted file mode 100644 index 7043721..0000000 --- a/homework/src/HW1/submissions/partA/Post1.java +++ /dev/null @@ -1,28 +0,0 @@ -package facebook; - -//This was the original post class, that was implemented for our "Facebook". - -class Post1 implements Post { - private String text; - - public Post1(String text) - { - this.text = text; - } - - public void setText(String text) - { - this.text = text; - } - - public String getText() - { - return text; - } - // Constructor, getters, and setters for text - - public void display() { - System.out.println(text); - // Code for displaying text post - } -} \ No newline at end of file From 0a2422ccd730688ae1cf9ae2d2cecd92fa8bc5c3 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:07:07 -0800 Subject: [PATCH 34/56] Delete homework/src/HW1/submissions/partA/Post2.java --- homework/src/HW1/submissions/partA/Post2.java | 84 ------------------- 1 file changed, 84 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/Post2.java diff --git a/homework/src/HW1/submissions/partA/Post2.java b/homework/src/HW1/submissions/partA/Post2.java deleted file mode 100644 index bd08ac8..0000000 --- a/homework/src/HW1/submissions/partA/Post2.java +++ /dev/null @@ -1,84 +0,0 @@ -package facebook; - - -//This is the new post class, that was implemented for our "Facebook" to help support images and videos. - -public class Post2 implements Post{ - - private String text; - private String imageUrl; - - private String videoUrl; - private boolean isImage; - - private boolean isVideo; - - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - } - - public String getImageUrl() { - return imageUrl; - } - - public void setImageUrl(String imageUrl) { - this.imageUrl = imageUrl; - } - - public String getVideoUrl() { - return videoUrl; - } - - public void setVideoUrl(String videoUrl) { - this.videoUrl = videoUrl; - } - - public boolean isImage() { - return isImage; - } - - public void setImage(boolean image) { - isImage = image; - } - - public boolean isVideo() { - return isVideo; - } - - public void setVideo(boolean video) { - isVideo = video; - } - - public Post2(String text) { - this.text = text; - } - - public Post2(String imageUrl, boolean isImage) { - if(isImage) { - this.imageUrl = imageUrl; - this.isImage = true; - } - } - - public Post2(String videoUrl, boolean isImage, boolean isVideo){ - if(isVideo && !isImage) { - this.videoUrl = videoUrl; - this.isImage = false; - this.isVideo = true; - } - } - - - public void display() { - - if(isImage()) - System.out.println(imageUrl); - if(isVideo()) - System.out.println(videoUrl); - System.out.println(text); - } -} \ No newline at end of file From e752ac6cf44d270db63fd0f42d43ef6437d7b658 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:07:23 -0800 Subject: [PATCH 35/56] Delete homework/src/HW1/submissions/partA/RegularHotel.java --- homework/src/HW1/submissions/partA/RegularHotel.java | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/RegularHotel.java diff --git a/homework/src/HW1/submissions/partA/RegularHotel.java b/homework/src/HW1/submissions/partA/RegularHotel.java deleted file mode 100644 index 06564d6..0000000 --- a/homework/src/HW1/submissions/partA/RegularHotel.java +++ /dev/null @@ -1,11 +0,0 @@ -package airbnb; - -public class RegularHotel implements Hotel{ - - @Override - public int calculateTotalPrice(int numberOfNights) { - - return 100*numberOfNights; - } - -} From bd612a9305c408b627fe3d8cd5b6b008ca2f1763 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:07:45 -0800 Subject: [PATCH 36/56] Delete homework/src/HW1/submissions/partA/Restaurant.java --- homework/src/HW1/submissions/partA/Restaurant.java | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/Restaurant.java diff --git a/homework/src/HW1/submissions/partA/Restaurant.java b/homework/src/HW1/submissions/partA/Restaurant.java deleted file mode 100644 index c233573..0000000 --- a/homework/src/HW1/submissions/partA/Restaurant.java +++ /dev/null @@ -1,14 +0,0 @@ -package doordash; - -public class Restaurant { - - private String name; - - public Restaurant(String name) { - this.name = name; - } - - public String getName() { - return name; - } -} From 884d26e6384f5418336dbbf7962a44822fee56ad Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:07:53 -0800 Subject: [PATCH 37/56] Delete homework/src/HW1/submissions/partA/RideManager.java --- .../HW1/submissions/partA/RideManager.java | 127 ------------------ 1 file changed, 127 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/RideManager.java diff --git a/homework/src/HW1/submissions/partA/RideManager.java b/homework/src/HW1/submissions/partA/RideManager.java deleted file mode 100644 index 84d1ab7..0000000 --- a/homework/src/HW1/submissions/partA/RideManager.java +++ /dev/null @@ -1,127 +0,0 @@ -package uber; - -import java.util.Stack; - -class RideManager { - private final double BASE_FARE = 5.0; // Base fare in dollars - private final double PER_MILE_RATE = 2.0; // Fare per mile in dollars - private final double PER_MINUTE_RATE = 0.5; // Fare per minute in dollars - - RideCalculator rd = new RideCalculator(BASE_FARE, PER_MILE_RATE, PER_MINUTE_RATE); - NotificationSender nf = new NotificationSender(); - double calculateRideFare(Ride ride) { - return rd.calculateRideFare(ride); - } - - void sendNotification(User user, String message) { - // Code for sending notifications to the user - - nf.sendNotification(user, message); - } - - - -} - -class NotificationSender { - - void sendNotification(User user, String message) - { - user.addMessage(message); - System.out.println("Notification sent to user: " + user.getUsername() + " - " + message); - } -} - -class RideCalculator { - - double base; - double milerate; - double minuterate; - - public RideCalculator(double base, double milerate, double minuterate) - { - this.base = base; - this.milerate = milerate; - this.minuterate = minuterate; - } - - public double calculateRideFare(Ride ride) - { - - - return base + milerate * ride.getDistanceInMiles() + minuterate*ride.getDurationInMinutes(); - } - - - - - -} -class Ride { - private double distanceInMiles; - private int durationInMinutes; - - public Ride(double distanceInMiles, int durationInMinutes) { - this.distanceInMiles = distanceInMiles; - this.durationInMinutes = durationInMinutes; - } - - - public double getDistanceInMiles() { - return distanceInMiles; - } - - public void setDistanceInMiles(double distanceInMiles) { - this.distanceInMiles = distanceInMiles; - } - - public int getDurationInMinutes() { - return durationInMinutes; - } - - public void setDurationInMinutes(int durationInMinutes) { - this.durationInMinutes = durationInMinutes; - } - - - -} - -class User { - // User details - - private Stack messages; - private String username; - - public User(String username) - { - this.username = username; - this.messages = new Stack(); - } - public String getUsername() { - return username; - } - - public String getLastMessage() - { - if(!messages.isEmpty()) - { - return messages.peek(); - } - return "No messages left"; - } - - public void addMessage(String message) - { - messages.push(message); - } - public void setInbox() - { - this.messages = new Stack(); - } - public void setUsername(String username) { - this.username = username; - } - - -} \ No newline at end of file From d1c9383893d6689a962d40a3994dc4eed909d33a Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:08:00 -0800 Subject: [PATCH 38/56] Delete homework/src/HW1/submissions/partA/TrackingService.java --- homework/src/HW1/submissions/partA/TrackingService.java | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 homework/src/HW1/submissions/partA/TrackingService.java diff --git a/homework/src/HW1/submissions/partA/TrackingService.java b/homework/src/HW1/submissions/partA/TrackingService.java deleted file mode 100644 index 4be8713..0000000 --- a/homework/src/HW1/submissions/partA/TrackingService.java +++ /dev/null @@ -1,6 +0,0 @@ -package doordash; - -public interface TrackingService { - - void trackPackage(String trackingNumber); -} From 551182dbf83b9c40aa1fe72520dca73429c8c779 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:08:08 -0800 Subject: [PATCH 39/56] Delete homework/src/HW1/submissions/partA/acyutaramanw directory --- homework/src/HW1/submissions/partA/acyutaramanw/.gitkeep | 1 - 1 file changed, 1 deletion(-) delete mode 100644 homework/src/HW1/submissions/partA/acyutaramanw/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaramanw/.gitkeep b/homework/src/HW1/submissions/partA/acyutaramanw/.gitkeep deleted file mode 100644 index 8b13789..0000000 --- a/homework/src/HW1/submissions/partA/acyutaramanw/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - From b80f5d3da40b3dcb0ca886dad4bcabd9e92cc028 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Fri, 24 Nov 2023 19:50:25 -0800 Subject: [PATCH 40/56] Update RideManager.java --- .../HW1/submissions/partA/acyutaraman/uber/RideManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/homework/src/HW1/submissions/partA/acyutaraman/uber/RideManager.java b/homework/src/HW1/submissions/partA/acyutaraman/uber/RideManager.java index 84d1ab7..8f56ff4 100644 --- a/homework/src/HW1/submissions/partA/acyutaraman/uber/RideManager.java +++ b/homework/src/HW1/submissions/partA/acyutaraman/uber/RideManager.java @@ -90,7 +90,7 @@ public void setDurationInMinutes(int durationInMinutes) { class User { // User details - private Stack messages; + private Stack messages; private String username; public User(String username) @@ -124,4 +124,4 @@ public void setUsername(String username) { } -} \ No newline at end of file +} From 8e890c3a3ea8be6c058626b03467cd68c00ad9ed Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 01:28:30 -0800 Subject: [PATCH 41/56] Delete homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep | 1 - 1 file changed, 1 deletion(-) delete mode 100644 homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep deleted file mode 100644 index 8b13789..0000000 --- a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - From 221e6281f055959bd37379fe24f64163a39c5720 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 01:38:29 -0800 Subject: [PATCH 42/56] Create README.md --- .../src/HW1/submissions/partA/acyutaraman/airbnb/README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/airbnb/README.md diff --git a/homework/src/HW1/submissions/partA/acyutaraman/airbnb/README.md b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/README.md new file mode 100644 index 0000000..6dd1569 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/airbnb/README.md @@ -0,0 +1,7 @@ +1) Airbnb violated the Open/Closed principle in SOLID. The DiscountedHotel class was a subclass of the Hotel class, and it overrides its calculateTotalPrice() method. Despite doing this, +the DiscountedHotel class can still access the calculateTotalPrice method of its superclass. Therefore, it violates the Open/Closed principle in SOLID. + +2) I fixed this violation by removing the Hotel class and instead creating a Hotel interface. I, then, created a Regular Hotel class to replace the previous Hotel class. I then made +both DiscountedHotel and the new RegularHotel classes implement the new Hotel interface. The Hotel interface has the abstract method calculateTotalPrice, which is implemented differently +in both DiscountedHotel and RegularHotel. I also added a new FiveStarHotel class that implements Hotel and charges at a higher hourly rate than RegularHotel. Its higher rate is displayed in +its calculateTotalPrice() method. From 59a9683578f7c05b2f5d0560ab1cb533b92345ad Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:29:41 -0800 Subject: [PATCH 43/56] Delete homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep | 1 - 1 file changed, 1 deletion(-) delete mode 100644 homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep deleted file mode 100644 index 8b13789..0000000 --- a/homework/src/HW1/submissions/partA/acyutaraman/doordash/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - From 45e98d16cbc8c8d117bda53e908d2e22afe1417a Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:29:58 -0800 Subject: [PATCH 44/56] Create README.md --- .../src/HW1/submissions/partA/acyutaraman/doordash/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/doordash/README.md diff --git a/homework/src/HW1/submissions/partA/acyutaraman/doordash/README.md b/homework/src/HW1/submissions/partA/acyutaraman/doordash/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/doordash/README.md @@ -0,0 +1 @@ + From cf6558b4c3397ececcb9d33995c284eb96e25d06 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:30:25 -0800 Subject: [PATCH 45/56] Create README.md --- .../src/HW1/submissions/partA/acyutaraman/facebook/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/facebook/README.md diff --git a/homework/src/HW1/submissions/partA/acyutaraman/facebook/README.md b/homework/src/HW1/submissions/partA/acyutaraman/facebook/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/facebook/README.md @@ -0,0 +1 @@ + From 951db377a97b2cc281c03867f529987440348300 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:30:37 -0800 Subject: [PATCH 46/56] Delete homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep | 1 - 1 file changed, 1 deletion(-) delete mode 100644 homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep deleted file mode 100644 index 8b13789..0000000 --- a/homework/src/HW1/submissions/partA/acyutaraman/facebook/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - From 446ccc06bb78c53465d38d16ea0184a10d217cd1 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:31:03 -0800 Subject: [PATCH 47/56] Delete homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep | 1 - 1 file changed, 1 deletion(-) delete mode 100644 homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep deleted file mode 100644 index 8b13789..0000000 --- a/homework/src/HW1/submissions/partA/acyutaraman/paypal/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - From 3703583b6a774c10e05c37b4ecb998a97025e636 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:31:22 -0800 Subject: [PATCH 48/56] Create README.md --- homework/src/HW1/submissions/partA/acyutaraman/paypal/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/paypal/README.md diff --git a/homework/src/HW1/submissions/partA/acyutaraman/paypal/README.md b/homework/src/HW1/submissions/partA/acyutaraman/paypal/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/paypal/README.md @@ -0,0 +1 @@ + From 94c2e7f59303e2af325b6f42da6cad95ae7b6b2e Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:31:38 -0800 Subject: [PATCH 49/56] Delete homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep --- homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep | 1 - 1 file changed, 1 deletion(-) delete mode 100644 homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep diff --git a/homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep b/homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep deleted file mode 100644 index 8b13789..0000000 --- a/homework/src/HW1/submissions/partA/acyutaraman/uber/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - From b96f66b9ed533571949c2e98a7da93811085bae2 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:31:55 -0800 Subject: [PATCH 50/56] Create README.md --- homework/src/HW1/submissions/partA/acyutaraman/uber/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partA/acyutaraman/uber/README.md diff --git a/homework/src/HW1/submissions/partA/acyutaraman/uber/README.md b/homework/src/HW1/submissions/partA/acyutaraman/uber/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partA/acyutaraman/uber/README.md @@ -0,0 +1 @@ + From d0254514e8e8d3ef71fd109f2413fb94f6b6374b Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:45:37 -0800 Subject: [PATCH 51/56] Update README.md --- .../HW1/submissions/partA/acyutaraman/doordash/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/homework/src/HW1/submissions/partA/acyutaraman/doordash/README.md b/homework/src/HW1/submissions/partA/acyutaraman/doordash/README.md index 8b13789..3f72ff0 100644 --- a/homework/src/HW1/submissions/partA/acyutaraman/doordash/README.md +++ b/homework/src/HW1/submissions/partA/acyutaraman/doordash/README.md @@ -1 +1,8 @@ +1) Doordash violates the Interface Segregation Principle of SOLID because it keeps both the deliverFood() and trackPackage() methods +in the DeliveryService interface instead of separating the methods across two different interfaces(a deliveryService and a trackingService interface). + +2) To solve this, I created a new TrackingService interface and moved the trackPackage() method from the original DeliveryService interface to it. +I then made the FoodDeliveryAndTrackingService class implement both the TrackingService and the DeliveryService interfaces, and had it implement +both the deliverFood() and trackPackage() methods. I even added a cancelDelivery() method to DeliveryService and concretely implemented it in +FoodDeliveryAndTrackingService. From 46a3382a2bbfedba6dc8184a58ca7a6ffeab8a0f Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 16:10:58 -0800 Subject: [PATCH 52/56] Update README.md --- .../src/HW1/submissions/partA/acyutaraman/facebook/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/homework/src/HW1/submissions/partA/acyutaraman/facebook/README.md b/homework/src/HW1/submissions/partA/acyutaraman/facebook/README.md index 8b13789..11d466d 100644 --- a/homework/src/HW1/submissions/partA/acyutaraman/facebook/README.md +++ b/homework/src/HW1/submissions/partA/acyutaraman/facebook/README.md @@ -1 +1,6 @@ +1) This class violates the Dependency Inversion Principle because of how it doesn't have any abstract interfaces to base the Post1 and Post2 off of. If you were to make the Post1 class +the superclass of Post2, Post2 would still be able to access methods from Post1 that it shouldn't be accessing. In this scenario, that would lead to a violation of the Open/Closed principle. + +2) I fixed this by creating an abstract interface called Post that both Post1 and Post2 implement. The Post interface has one method called display, which is implemented differently in +Post1 and Post2. I added getter and setter methods for the text in Post1. For the display method in Post1, it just prints out the text in the post. For the display method in Post2, It returns the video url and the text in separate lines if it is a video post, it returns the image url and the text if it is an image post, and it returns just the text if it is neither a video post or an audio post. From e1944896268f01dd026a08bd042f3cc6cbbc1160 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 16:18:08 -0800 Subject: [PATCH 53/56] Update README.md --- .../src/HW1/submissions/partA/acyutaraman/paypal/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/homework/src/HW1/submissions/partA/acyutaraman/paypal/README.md b/homework/src/HW1/submissions/partA/acyutaraman/paypal/README.md index 8b13789..9e51be3 100644 --- a/homework/src/HW1/submissions/partA/acyutaraman/paypal/README.md +++ b/homework/src/HW1/submissions/partA/acyutaraman/paypal/README.md @@ -1 +1,8 @@ +1) Paypal violates the Dependency Inversion principle because of how it lacks an interface/ abstract entity as a base entity. It just has a PayPalGateWay object used in PayPalProcessor, +without any inheritance or abstraction involved. + +2) I fixed this violation by making the PayPalGateWay an interface with the abstract method processPayment. I then had the PayPalProcessor class implement the interface, and had +the default processMethod() method print out the original line that was supposed to be printed out. I added functionality in the sense that I overloaded the processMethod() method. +The original one takes in only the account and the amount, and prints out a line. I added a new version of that method that takes in the account, the amount, and the balance. This +new version prints out an error message if the amount(for the payment) is greater than the balance in the user's account. From 8af740976894473d7595cbe4ec45de5a71243054 Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 16:33:06 -0800 Subject: [PATCH 54/56] Update README.md --- .../src/HW1/submissions/partA/acyutaraman/uber/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/homework/src/HW1/submissions/partA/acyutaraman/uber/README.md b/homework/src/HW1/submissions/partA/acyutaraman/uber/README.md index 8b13789..480cd5e 100644 --- a/homework/src/HW1/submissions/partA/acyutaraman/uber/README.md +++ b/homework/src/HW1/submissions/partA/acyutaraman/uber/README.md @@ -1 +1,10 @@ +1) Uber violates the Single Responsibility Principle of the SOLID principles. It does so because of its two methods, which are calculateRideFare() and sendNotification(). The calculateRideFate() method involves accessing the Ride class and making a calculation based off of that. The sendNotification() method accesses and intends to make modifications to the +User class. Since two different classes are being directly altered by the RideManagerClass, it violates the Single Responsiblity Principle. + +2) I fixed this SOLID violation by creating the classes RideCalculator and NotificationSender, and having them handle the calculateRideFare() and sendNotifcation() methods respectively. +I placed a constructor for the RideCalculator class that takes in the amounts for minute_rate, mile_rate, and base_rate. The class then uses those values to calculate the fare value of +the given ride in its calculateRideFare() method. I also added message stack in the User class to contain all the messages. I added methods to initialize, add to, and read from the messages +stack. I then had the sendNotifcation() method in NotificationSender call the given User's addMessage() method to add the given message. It then prints out the given line it was initially +supposed to print. In the RideManager class, I initialized a RideCalculator object and a NotifcationSende object. For its calculateRideFare() method, it calls the calculateRideFare() method +for its RideCalculator object returns that value. That is how I added functionality to the RideManager class and fixed its violations. I also modified the main class. From 90fd8c4583eb3307f62d45a3b4391d3fffe36eda Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 16:43:16 -0800 Subject: [PATCH 55/56] Create README.md --- homework/src/HW1/submissions/partB/acyutaraman/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 homework/src/HW1/submissions/partB/acyutaraman/README.md diff --git a/homework/src/HW1/submissions/partB/acyutaraman/README.md b/homework/src/HW1/submissions/partB/acyutaraman/README.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/homework/src/HW1/submissions/partB/acyutaraman/README.md @@ -0,0 +1 @@ + From e77d0be4be07287ab054e133d3404f6350ebc93d Mon Sep 17 00:00:00 2001 From: Achur260 <145436522+Achur260@users.noreply.github.com> Date: Mon, 27 Nov 2023 16:45:16 -0800 Subject: [PATCH 56/56] Update README.md --- homework/src/HW1/submissions/partB/acyutaraman/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/homework/src/HW1/submissions/partB/acyutaraman/README.md b/homework/src/HW1/submissions/partB/acyutaraman/README.md index 8b13789..58bf814 100644 --- a/homework/src/HW1/submissions/partB/acyutaraman/README.md +++ b/homework/src/HW1/submissions/partB/acyutaraman/README.md @@ -1 +1,3 @@ +Link to my repo for PART B: +https://github.com/Achur260/PartBJavaFX/tree/main