diff --git a/Klausuren/Sd1/2018summer/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Artikel.java b/Klausuren/Sd1/2018summer/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Artikel.java index 5a1684a2d34a808a1bd4b5994d276ef8efa2a02d..89b566b28c33dfa344229589fea4f81d8b51b8a5 100644 --- a/Klausuren/Sd1/2018summer/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Artikel.java +++ b/Klausuren/Sd1/2018summer/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Artikel.java @@ -1,7 +1,63 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2; /** - * Darstellung von Verkaufsartikeln + * Darstellung von Verkaufsartikeln. + * + * <p>Ein Artikel benötigt zur Erzeugung drei Angaben: Die Bezeichnung, eine Artikelnummer sowie den Preis in + * Euro-Cent (230,50€ sind beispielsweise 23050 Cent). Beispiel:</p> + * + * <table class="goikTableDefaults"> + * <tr> + * <th>Code</th> + * <th>Gewünschtes Verhalten</th> + * </tr> + * <tr> + * <td> + * <pre>final Artikel a = + *new Artikel("Fahrrad", 3321, 23050); + * + *System.out.println(a);</pre> + * </td> + * <td> + * <pre>Fahrrad, Artikelnummer 3321 zu 230,50€</pre> + * </td> + * </tr> + * </table> + * + * <p>Zwei Artikel Instanzen sind genau dann gleich, wenn ihre Artikelnummern übereinstimmen. Bezeichnung und Preis + * sind in Bezug auf einen Vergleich hingegen irrelevant:</p> + * + * <table class="goikTableDefaults"> + * <tr> + * <th>Code</th> + * <th>Gewünschtes Verhalten</th> + * </tr> + * <tr> + * <td> + * <pre>final Artikel + * a = new Artikel("Ball", <span style="color: green">9132</span>, 4450), + * b = new Artikel("Fußball", <span style="color: green">9132</span>, 4350), + * c = new Artikel("Fahrrad", <span style="color: red">3321</span>, 23050); + * + *System.out.println("Ball / Fußball: " + a.equals(b)); + *System.out.println("Ball / Fahrrad: " + a.equals(c));</pre> + * </td> + * <td> + * <pre>Ball / Fußball: <span style="color: green">true</span> + *Ball / Fahrrad: <span style="color: red">false</span></pre> + * </td> + * </tr> + * </table> + * + * <section class="implementationHints"> + * <h3>Hinweise:</h3> + * <ul> + * <li>Implementieren Sie alle bislang fehlenden Methoden.</li> + * + * <li>Die Unit Tests prüfen neben der formalen Korrektheit auch die Sinnhaftigkeit der Implementierung: + * Eine Hashfunktion sollte für verschiedene Objekte »meistens« unterschiedliche Werte zurückliefern.</li> + * </ul> + * </section> */ public class Artikel { // TODO: Implementiere mich gemäß Aufgabenbeschreibung! diff --git a/Klausuren/Sd1/2018summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Artikel.java b/Klausuren/Sd1/2018summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Artikel.java index cc907a5c38f99b5f836bc31409dca364634b15c1..0f12383fb16443d3f1b7dfdf7200907cf3b3c4a6 100644 --- a/Klausuren/Sd1/2018summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Artikel.java +++ b/Klausuren/Sd1/2018summer/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/aufgabe2/Artikel.java @@ -1,7 +1,63 @@ package de.hdm_stuttgart.mi.sd1.aufgabe2; /** - * Darstellung von Verkaufsartikeln + * Darstellung von Verkaufsartikeln. + * + * <p>Ein Artikel benötigt zur Erzeugung drei Angaben: Die Bezeichnung, eine Artikelnummer sowie den Preis in + * Euro-Cent (230,50€ sind beispielsweise 23050 Cent). Beispiel:</p> + * + * <table class="goikTableDefaults"> + * <tr> + * <th>Code</th> + * <th>Gewünschtes Verhalten</th> + * </tr> + * <tr> + * <td> + * <pre>final Artikel a = + *new Artikel("Fahrrad", 3321, 23050); + * + *System.out.println(a);</pre> + * </td> + * <td> + * <pre>Fahrrad, Artikelnummer 3321 zu 230,50€</pre> + * </td> + * </tr> + * </table> + * + * <p>Zwei Artikel Instanzen sind genau dann gleich, wenn ihre Artikelnummern übereinstimmen. Bezeichnung und Preis + * sind in Bezug auf einen Vergleich hingegen irrelevant:</p> + * + * <table class="goikTableDefaults"> + * <tr> + * <th>Code</th> + * <th>Gewünschtes Verhalten</th> + * </tr> + * <tr> + * <td> + * <pre>final Artikel + * a = new Artikel("Ball", <span style="color: green">9132</span>, 4450), + * b = new Artikel("Fußball", <span style="color: green">9132</span>, 4350), + * c = new Artikel("Fahrrad", <span style="color: red">3321</span>, 23050); + * + *System.out.println("Ball / Fußball: " + a.equals(b)); + *System.out.println("Ball / Fahrrad: " + a.equals(c));</pre> + * </td> + * <td> + * <pre>Ball / Fußball: <span style="color: green">true</span> + *Ball / Fahrrad: <span style="color: red">false</span></pre> + * </td> + * </tr> + * </table> + * + * <section class="implementationHints"> + * <h3>Hinweise:</h3> + * <ul> + * <li>Implementieren Sie alle bislang fehlenden Methoden.</li> + * + * <li>Die Unit Tests prüfen neben der formalen Korrektheit auch die Sinnhaftigkeit der Implementierung: + * Eine Hashfunktion sollte für verschiedene Objekte »meistens« unterschiedliche Werte zurückliefern.</li> + * </ul> + * </section> */ public class Artikel { /**