Skip to content
Snippets Groups Projects
Commit dcf4a74a authored by Paul Rauser's avatar Paul Rauser
Browse files

chore: create clean solution branch for all three sub-tasks

parent 0e1ed0bc
No related branches found
No related tags found
No related merge requests found
# 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.
......
## 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.
File added
File added
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);
}
}
}
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment