From 5b02edef2c95f7c3a360f87de42d5cc24d11ce9f Mon Sep 17 00:00:00 2001 From: Alexandre <alexandre.maintier.etu@epicea14.iut-infobio.priv.univ-lille1.fr> Date: Mon, 5 May 2025 15:24:26 +0200 Subject: [PATCH] tpOO-08::exo-miseEnRayon --- src/tpOO/tp08/Food.java | 46 ++++++++++++++++++++++++++++++++ src/tpOO/tp08/Furniture.java | 5 ++++ src/tpOO/tp08/Iproduct.java | 6 +++++ src/tpOO/tp08/Shelf.java | 5 ++++ src/tpOO/tp08/Shop.java | 5 ++++ src/tpOO/tp08/UseComparable.java | 18 +++++++++++++ 6 files changed, 85 insertions(+) create mode 100644 src/tpOO/tp08/Food.java create mode 100644 src/tpOO/tp08/Furniture.java create mode 100644 src/tpOO/tp08/Iproduct.java create mode 100644 src/tpOO/tp08/Shelf.java create mode 100644 src/tpOO/tp08/Shop.java create mode 100644 src/tpOO/tp08/UseComparable.java diff --git a/src/tpOO/tp08/Food.java b/src/tpOO/tp08/Food.java new file mode 100644 index 0000000..6e471fa --- /dev/null +++ b/src/tpOO/tp08/Food.java @@ -0,0 +1,46 @@ +package tpOO.tp08; +import java.time.LocalDate; + +public class Food { + String label; + double price; + LocalDate bestBeforeDate; + + Food(String label, double price, LocalDate bestBeforeDate){ + this.label = label; + this.bestBeforeDate = bestBeforeDate; + this.price = price; + } + + Food(String label, double price){ + this(label, price, LocalDate.now().plusDays(10)); + } + + String getLabel(){ + return this.label; + } + + double getPrice(){ + return this.price; + } + + LocalDate getBestBeforeDate(){ + return this.bestBeforeDate; + } + + boolean isPerishable(){ + return true; + } + + @Override + public String toString(){ + return this.label + "=>" + this.price + " à consommer avant le " + this.bestBeforeDate; + } + + boolean isBestBefore(LocalDate date){ + if(date.compareTo(this.bestBeforeDate)>0){ + return false; + } + return true; + } +} diff --git a/src/tpOO/tp08/Furniture.java b/src/tpOO/tp08/Furniture.java new file mode 100644 index 0000000..ae528ca --- /dev/null +++ b/src/tpOO/tp08/Furniture.java @@ -0,0 +1,5 @@ +package tpOO.tp08; + +public class Furniture { + +} diff --git a/src/tpOO/tp08/Iproduct.java b/src/tpOO/tp08/Iproduct.java new file mode 100644 index 0000000..3d0a347 --- /dev/null +++ b/src/tpOO/tp08/Iproduct.java @@ -0,0 +1,6 @@ +package tpOO.tp08; + +interface Iproduct{ + double getPrice(); + boolean isPerishable(); +} \ No newline at end of file diff --git a/src/tpOO/tp08/Shelf.java b/src/tpOO/tp08/Shelf.java new file mode 100644 index 0000000..99b8962 --- /dev/null +++ b/src/tpOO/tp08/Shelf.java @@ -0,0 +1,5 @@ +package tpOO.tp08; + +public class Shelf { + +} diff --git a/src/tpOO/tp08/Shop.java b/src/tpOO/tp08/Shop.java new file mode 100644 index 0000000..2ce7438 --- /dev/null +++ b/src/tpOO/tp08/Shop.java @@ -0,0 +1,5 @@ +package tpOO.tp08; + +public class Shop { + +} diff --git a/src/tpOO/tp08/UseComparable.java b/src/tpOO/tp08/UseComparable.java new file mode 100644 index 0000000..691cb23 --- /dev/null +++ b/src/tpOO/tp08/UseComparable.java @@ -0,0 +1,18 @@ +package tpOO.tp08; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Collections; + +public class UseComparable { + public static void main(String[] args) { + Food f1 = new Food("pasta", 3.25, LocalDate.of(2019, 1, 1)); + Food f2 = new Food("fish", 10.0, LocalDate.of(2019, 1, 10)); + Food f3 = new Food("meat", 15.0, LocalDate.of(2019, 1, 3)); + ArrayList<Food> storage = new ArrayList<Food>(); + storage.add(f1);storage.add(f2);storage.add(f3); + System.out.println(storage); + Collections.sort(storage); + System.out.println(storage); + } +} -- GitLab