From 09c4ef2e9b0758abeed101672e3aad1f242d3a95 Mon Sep 17 00:00:00 2001 From: Chloe Christine Fontenot Date: Sun, 19 Oct 2025 21:31:12 -0500 Subject: [PATCH] MP4 progress --- .../mp4_calebfontenot/Bicycle.java | 5 +- .../mp4_calebfontenot/BikeStores.java | 71 +++++++----------- .../mp4_calebfontenot/ChildBike.java | 1 + .../mp4_calebfontenot/MountainBike.java | 1 + .../mp4_calebfontenot/SpeedBike.java | 1 + Semester 2/ZIPs/MP4_CalebFontenot.zip | Bin 0 -> 9028 bytes 6 files changed, 34 insertions(+), 45 deletions(-) create mode 100644 Semester 2/ZIPs/MP4_CalebFontenot.zip diff --git a/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/Bicycle.java b/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/Bicycle.java index 4077f33..62355da 100644 --- a/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/Bicycle.java +++ b/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/Bicycle.java @@ -14,7 +14,7 @@ abstract public class Bicycle private int gear; private int speed; - //@Override + @Override public boolean equals(Object obj) { if (this == obj) { @@ -26,6 +26,7 @@ abstract public class Bicycle if (getClass() != obj.getClass()) { return false; } + final Bicycle other = (Bicycle) obj; if (this.cadence != other.cadence) { return false; @@ -36,8 +37,6 @@ abstract public class Bicycle return this.speed == other.speed; } - - public Bicycle(int cadence, int gear, int speed) { this.cadence = cadence; diff --git a/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/BikeStores.java b/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/BikeStores.java index 9a42ce7..1ab881f 100644 --- a/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/BikeStores.java +++ b/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/BikeStores.java @@ -22,15 +22,13 @@ public class BikeStores { * @param b the bike to add * @return true if the bike added, false if the storeNumber is invalid or b is null. */ - public BikeStores() - { + public BikeStores() { for (int i = 0; i < 3; i++) { storesOfBikes.add(new ArrayList()); } } - public boolean addBike(int storeNumber, Bicycle b) - { + public boolean addBike(int storeNumber, Bicycle b) { if (storeNumber < 0 || storeNumber > this.storesOfBikes.size() - 1) { return false; } @@ -55,8 +53,7 @@ public class BikeStores { * @param b the bike to be removed * @return true of the bike is removed, false if the bike does not exist, or bike is null. */ - public boolean removeBike(int storeNumber, Bicycle b) - { + public boolean removeBike(int storeNumber, Bicycle b) { if (storeNumber < 0 || storeNumber > this.storesOfBikes.size() - 1) { return false; } @@ -76,8 +73,7 @@ public class BikeStores { * * @param stores stores of bikes */ - public static void print(ArrayList> stores) - { + public static void print(ArrayList> stores) { for (int i = 0; i < stores.size(); ++i) { System.out.println("---------- " + "printing row " + (i + 1) + " ----------"); for (int j = 0; j < stores.get(i).size(); ++j) { @@ -87,8 +83,7 @@ public class BikeStores { } } - public static void printSingle(ArrayList stores) - { + public static void printSingle(ArrayList stores) { System.out.println("----------" + "printSingle" + "----------"); for (int j = 0; j < stores.size(); ++j) { System.out.println(stores.get(j) + " "); @@ -96,8 +91,7 @@ public class BikeStores { } - public static void printRank(ArrayList stores) - { + public static void printRank(ArrayList stores) { System.out.println("----------" + "printRank" + "----------"); for (int j = 0; j < stores.size(); ++j) { System.out.println(stores.get(j) + " " + stores.get(j).calculatedDetails().getRank()); @@ -111,8 +105,7 @@ public class BikeStores { * @param stores the stores of bikes * @return a newly created ArrayList> with the bikes sorted. */ - public static ArrayList> sortBikesByType(final ArrayList> stores) - { + public static ArrayList> sortBikesByType(final ArrayList> stores) { ArrayList> newStore = new ArrayList>(); // group arrayLists ArrayList mountainBikes = new ArrayList(); @@ -149,8 +142,7 @@ public class BikeStores { return newStore; } - private static void sortType(ArrayList arrList) - { + private static void sortType(ArrayList arrList) { for (int x = 0; x < arrList.size(); ++x) { for (int i = 0; i < arrList.size(); ++i) { for (int j = i + 1; j < arrList.size(); ++j) { @@ -166,15 +158,13 @@ public class BikeStores { } } - public static void print(Object[] arr) - { + public static void print(Object[] arr) { for (Object o : arr) { System.out.println(o); } } - public static void print(Object[][] arr) - { + public static void print(Object[][] arr) { for (int i = 0; i < arr.length; i++) { System.out.println("---------- " + "printing row " + (i + 1) + " ----------"); print(arr[i]); @@ -187,8 +177,7 @@ public class BikeStores { * * @return a 2D array of all stores with bikes. */ - public Object[][] toArray() - { + public Object[][] toArray() { Object[][] arr = new Object[storesOfBikes.size()][]; for (int i = 0; i < storesOfBikes.size(); i++) { arr[i] = storesOfBikes.toArray(); @@ -202,30 +191,25 @@ public class BikeStores { * @param c the bikes to be removed * @return true if any store changed as a result of the call. */ - public boolean retainAll(Collection c) - { - /* - for (int i = 0; i < storesOfBikes.size(); ++i) { - for (int j = 0; j < storesOfBikes.get(i).size(); ++j) { - //for (int x = 0; x < c.size(); ++x) { - Bicycle compare1 = storesOfBikes.get(i).get(j); - //Bicycle compare2 = ((ArrayList) c).get(x); - //if (!compare1.equals(compare2)) { - if (!storesOfBikes.get(i).contains(c)) { - storesOfBikes.get(i).remove(j); - System.out.println("Removing " + compare1); - //} - } + public boolean retainAll(Collection c) { + boolean modified = false; + for (int i = storesOfBikes.size() - 1; i >= 0; i--) { + ArrayList bikes = storesOfBikes.get(i); + for (int j = bikes.size() - 1; j >= 0; j--) { + Bicycle bike = bikes.get(j); + if (!c.contains(bike)) { + bikes.remove(j); + System.out.println("Removing " + bike); + modified = true; + } } } -*/ System.out.println("Bikes to remove:"); printSingle((ArrayList) c); - return true; + return modified; } - public static void main(String[] args) - { + public static void main(String[] args) { BikeStores bikes = new BikeStores(); //add 5 bikes to store 0 ( 2 speedBikes, 2 mountain 1 child) bikes.addBike(0, new SpeedBike(4, 3, 10, 40)); @@ -264,8 +248,11 @@ public class BikeStores { c1.add(new SpeedBike(0, 8, 40, 55)); c1.add(new ChildBike(true, 1, 2, 20)); Bicycle b1 = bikes.storesOfBikes.get(2).get(1); - Bicycle b2 = ((ArrayList) c1).get(0); - System.out.println(b1.equals(b2)); + Bicycle b2 = bikes.storesOfBikes.get(2).get(4); + Bicycle b3 = ((ArrayList) c1).get(0); + Bicycle b4 = ((ArrayList) c1).get(1); + + System.out.println(b1.equals(b3) + " " + b2.equals(b4)); bikes.retainAll(c1); print(bikes.storesOfBikes); diff --git a/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/ChildBike.java b/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/ChildBike.java index 15faa04..5feff03 100644 --- a/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/ChildBike.java +++ b/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/ChildBike.java @@ -23,6 +23,7 @@ public class ChildBike extends Bicycle //remove comment in front of extends return false; } final ChildBike other = (ChildBike) obj; + System.out.println("Super returns: " + super.equals(obj)); return this.helpWheels == other.helpWheels && super.equals(obj); } diff --git a/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/MountainBike.java b/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/MountainBike.java index fb3da18..d2d6312 100644 --- a/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/MountainBike.java +++ b/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/MountainBike.java @@ -26,6 +26,7 @@ public class MountainBike extends Bicycle return false; } final MountainBike other = (MountainBike) obj; + System.out.println("Super returns: " + super.equals(obj)); return this.seatHeight == other.seatHeight && super.equals(obj); } diff --git a/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/SpeedBike.java b/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/SpeedBike.java index ea9904d..38c5a04 100644 --- a/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/SpeedBike.java +++ b/Semester 2/Assignments/MP4_CalebFontenot/src/main/java/com/calebfontenot/mp4_calebfontenot/SpeedBike.java @@ -31,6 +31,7 @@ public class SpeedBike extends Bicycle return false; } final SpeedBike other = (SpeedBike) obj; + System.out.println("Super returns: " + super.equals(obj)); return Double.doubleToLongBits(this.weight) == Double.doubleToLongBits(other.weight) && super.equals(obj); } diff --git a/Semester 2/ZIPs/MP4_CalebFontenot.zip b/Semester 2/ZIPs/MP4_CalebFontenot.zip new file mode 100644 index 0000000000000000000000000000000000000000..848c586f04b1cf28d6e91c291b0c4991d8239688 GIT binary patch literal 9028 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