From dcf4a74a52bf6c1726f5951c8a8ebac3be72c3c6 Mon Sep 17 00:00:00 2001 From: Paul Rauser <paulr@Pauls-Air.fritz.box> Date: Wed, 4 Sep 2024 14:56:11 +0200 Subject: [PATCH] chore: create clean solution branch for all three sub-tasks --- cards/README.md | 2 +- orders/README.md | 10 ++++++++ orders/bin/orders/App.class | Bin 0 -> 994 bytes orders/bin/orders/Order.class | Bin 0 -> 1842 bytes orders/src/orders/App.java | 23 +++++++++++++++++ orders/src/orders/Order.java | 47 ++++++++++++++++++++++++++++++++++ 6 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 orders/README.md create mode 100644 orders/bin/orders/App.class create mode 100644 orders/bin/orders/Order.class create mode 100644 orders/src/orders/App.java create mode 100644 orders/src/orders/Order.java diff --git a/cards/README.md b/cards/README.md index a27d03a..7e2b508 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 0000000..e56d0b6 --- /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 GIT binary patch literal 994 zcmZ`%+fvg|6kVsZJ!u-`)|M#>)_Vf974X{P1yQ_A0i7~+z^6dZU}~Fm(u9#u@e6#` z2Rg`%<Fg;(gP-ApxKG-088ykAz0b}*Yp=7{{{H*RR{)RjOhpKN9AOO+L>UHa=8l=K zoA!2ob+ab6Jcj7JWn12ThCbb>a3~C;L6YxT_54fMa$L*XedP;ZsNfPS&Y(GNRk*GE zsx%7v8F=7kW>lycki`ZWQhMpQT-kFid%O6;s3;gd%Abu8P5Fcrq>iF<y=b3=8`E$W z=ZI)aconP35Y{)0N*oh7&ymq^0T&qtjyVTh={jb$%8)$Cp>yS;u^|s%)^G(^85GMC zuIV|hBy4mT2X}wojTht4VQ@@pn8Gx}@NubL3Ne3cwpPS@>L<04@O9)g<Z+$Y+Cezc z!#>gcVhppG<G7*WCT^Wlr@Y(pM1#;ApD>dhT9zXPu|4XgFdIb`cW{@ZprMF)hLM2R z=^P@~lqc%;e_BC`lk{p=&xNLJ@1j!`)X|b<ixt1IDcm)4vrdt4!?Xw|rN8-GSEItv zU-rzccgtoo$me)Moc@tY<;srlZiyvJqAFB0C#jQ=_h?#!X#kV+O6vpKj+13%Ba>~g zPvkH>q*eZwYYYoC>7CRcbc|DU=Ky@Yjacab>iV#zwsB@TaEB5Yq0LILNhUB#n?g7n z-a~q7dLQE<yq?N-Z93d__Hl`!5J^Y&agE^v#-x{J_y)BQ{fwD(bPu;b9{!ZvLIJl~ zXyhyO#xO!NoIxBp^kWVKB-S7nF@zHRsUZOuN%%-n3^bOZL#!dn@t9+RL+yP!@QY9w JmVz2j{{T<v(2f8A literal 0 HcmV?d00001 diff --git a/orders/bin/orders/Order.class b/orders/bin/orders/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..36f38510e20e156adbb375b1c9f1c1b74d505b1c GIT binary patch literal 1842 zcmaJ>T~8ZF6g`7K)^?UafZ(JAaENK`B?;+w8Ut-`N`vc!NFXXD>ce7B$Oe1Y+8rb1 zpY%txQY#f&<)P|xe^k{oyGy)wtjhAt&g{A8-gD;e{PXYIzW{9GSpgGB8AzMRAS*Ea z+CH_{JGOhgzIXImwv<42!*Lz8C6KCA5A(<&Z=hh}5=;Tp^V`x7*7x+p=y3T+1})#| zDaUgKW|{-WedRmuaZPhvHZg^1fkLYvD6cF1-L`;e6flEX19K*>VqW0NAa>jHI?^Vg zacXz^a_^<UeC2sH!5$+*`fDbx;{%p_>huI=$Dnkk8zvU9L={I7`JrYGbv~b=J0%l0 zu_93H+9$H^xh-4$;HX!83Y6`tK;S{8k)V#{C3Y@KN|qU;bpEo5ReUIrZ+YFG?aKpC ziy9ZdTcBqZ4X@IbN;7GDt-5PqO<-<dRz2jik2+K{L>MP;R1XExb+66$Q%%Q}Py5{? z=^sQ987DZ@wq*mU!iO}CX29&RRN+An9q?Rbj5>lD{66?<Qe9k(rk*5qJ<$nlwFY;| zk=#vJ!oqXPi$Vp4_@aiT9c;uWQoZup&uriBO2rPP$@|W+YpcFb&G!=?$5Dx$fqNUn zMsL;Fu=`%$Z^<1;ds_$<-qpr4Cr?`i%C~z_@*s!0K=f&pUJUwtQ`|0v=a;Zi@3B=k z#g9{2d|SW{zBBMx_aDWS2M6o8r{0NNkK{)!xnsAK=f4s7Dd}wtj4F9-yX}q)%1zHZ z>Gx_0sqqmcc7_5E-t^=c_=^Po!t}&eOi{Nxoqb11nr800uJr32I|yW8peeBWo~Ci7 z8h9$O^#4%yX{3v0<#?G1SV(c^_s?&5Lf=#2%<G18f$uZ8&G8ObUlW<;T(tgxu-49C zSfw*eTB$#A<qXB&_)6d|$9V>U^l9YzE8sF|=Sj@-#ZpXG;w&`E`W?k{Ed2Z~Iveg! zalD6*IqKA_ENy~w-dY$<rmtjRmg(jQ{sf=KA&Z=Kf(#QFzw#lfEn+Wn^%*|rsM%Ly z_G~C>pd+GQpqd**et|Dz{37ue)RVuAP%rb<eS8%|SLj)ah^)0tt467Bk-ALegLhS1 zG)+^_u<A)&xwhvmmVr?T72<fo#d*rH1apme9dnLbqn6&8e#nR#ky`Z4I3jPY{f*o? tJ{pCmut8Xc)vy)P*yLgYTkHZoe}jjdbIksT|7|q5(%teso?s8x{{xJyn*aa+ literal 0 HcmV?d00001 diff --git a/orders/src/orders/App.java b/orders/src/orders/App.java new file mode 100644 index 0000000..55f2620 --- /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 0000000..7e0e820 --- /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 -- GitLab