diff --git a/cards/README.md b/cards/README.md index a27d03ab1aeea205ff3504a4a62f740b8b57cf29..7e2b508d9c4bd911fa3867607ee774355842bdd4 100644 --- a/cards/README.md +++ b/cards/README.md @@ -1,4 +1,4 @@ -# Kartenspiel-Programm +## 1.07b - Cards **Aufgabe:** Schreiben Sie ein Programm, das ein Kartenspiel mit 52 Karten (mit 4 Farben: Clubs, Hearts, Diamonds, Spades) zu je 13 Karten (Ass, König, Dame, Bube, 10, 9, 8, 7, 6, 5, 4, 3, 2) auf eine über die Kommandozeile definierte Anzahl von Spielern verteilt. diff --git a/orders/README.md b/orders/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e56d0b6b48b6076a8eb41cd152c0483340fdc416 --- /dev/null +++ b/orders/README.md @@ -0,0 +1,10 @@ +## 1.07c - Orders + +Gegeben ist die Klasse `Order`. + +Für die Verarbeitung in einer Prioritätswarteschlange (`PriorityQueue`) soll die natürliche Ordnung so gewählt werden, dass das `Order`-Objekt von VIP-Kunden immer höchste Priorität hat. Implementieren Sie die Schnittstelle `java.lang.Comparable` entsprechend und schreiben Sie in einer `Main`-Klasse einige Tests zum Überprfüfen der korrekten Reihenfolge. + +Gehen Sie bei der Implementierung nach dem Prinzip des Test-Driven-Development (TDD) vor: +1. **Test Implementieren:** Schreiben Sie zuerst einen Test (`Main`-Klasse), der das gewünschte Verhalten der Prioritätswarteschlange überprüft. Der Test sollte zunächst scheitern, da die Klasse `Order` noch nicht angepasst wurde. + +2. **Änderungen Vornehmen:** Programmieren Sie dann die notwendigen Änderungen in der Klasse `Order`, so dass der Test erfolgreich ist. diff --git a/orders/bin/orders/App.class b/orders/bin/orders/App.class new file mode 100644 index 0000000000000000000000000000000000000000..84799322d6684337afb2c0b6ce69fffbd80aaca6 Binary files /dev/null and b/orders/bin/orders/App.class differ diff --git a/orders/bin/orders/Order.class b/orders/bin/orders/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..36f38510e20e156adbb375b1c9f1c1b74d505b1c Binary files /dev/null and b/orders/bin/orders/Order.class differ diff --git a/orders/src/orders/App.java b/orders/src/orders/App.java new file mode 100644 index 0000000000000000000000000000000000000000..55f2620a6a91523fa76a7316baf6970035a2ce90 --- /dev/null +++ b/orders/src/orders/App.java @@ -0,0 +1,23 @@ +package orders; + +import java.util.PriorityQueue; +import java.util.Queue; + +public class App { + public static void main(String[] args) { + Queue<Order> orderQueue = new PriorityQueue<>(); + Order order1 = new Order("Order 1", 1); + Order order2 = new Order("Order 2", 2); + Order order3 = new Order("Order 3", 3); + + order2.setVip(true); + + orderQueue.add(order1); + orderQueue.add(order2); + orderQueue.add(order3); + + for(Order order : orderQueue) { + System.out.println(order); + } + } +} diff --git a/orders/src/orders/Order.java b/orders/src/orders/Order.java new file mode 100644 index 0000000000000000000000000000000000000000..7e0e8203eb5df14e545df2aaf01b2d4972795c4c --- /dev/null +++ b/orders/src/orders/Order.java @@ -0,0 +1,47 @@ +package orders; + +public class Order implements Comparable<Order> { + private Boolean vip; + private String orderDescription; + private long customerId; + + public Order(String orderDescription, long customerId) { + this.orderDescription=orderDescription; + this.customerId=customerId; + this.vip = false; + } + + public boolean isVip() { + return vip; + } + + public void setVip(boolean vip) { + this.vip = vip; + } + + public String getOrderDescription() { + return orderDescription; + } + + public void setOrderDescription(String orderDescription) { + this.orderDescription = orderDescription; + } + + public long getCustomerId() { + return customerId; + } + + public void setCustomerId(long customerId) { + this.customerId = customerId; + } + + @Override + public String toString() { + return "Order [customerId=" + customerId + ", orderDescription=" + orderDescription + ", vip=" + vip + "]"; + } + + @Override + public int compareTo(Order o) { + return o.vip.compareTo(this.vip); + } +} \ No newline at end of file