BlueJ(von David J. Barnes u. Michael K.) Übung 4.14

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • BlueJ(von David J. Barnes u. Michael K.) Übung 4.14

    Übung4.14 Fügen Sie der Klasse Auktion eine Methode beenden hinzu. Diese sollte die Sammlung der Posten durchlaufen
    und die Details aller Posten ausgeben. Bei verkauften Posten sollte der Name des erfolgreichen Bieters und das Höchstgebot
    ausgegeben werden, bei unverkauften Posten eine kurze Meldung, die dies deutlich macht.

    Das ist die Übungsaufgabe,und wie mach man das?
    da unten steht es die Klasse Posten.

    Quellcode

    1. public class Posten
    2. {
    3. // eine eindeutige Nummer zur Identifikation dieses Postens
    4. private final int nummer;
    5. // eine Beschreibung dieses Postens
    6. private String beschreibung;
    7. private Gebot hoechstesGebot;
    8. /**
    9. * Erzeuge einen Posten, mit Nummer und Beschreibung.
    10. * @param nummer die Postennummer.
    11. * @param beschreibung eine Beschreibung dieses Postens.
    12. */
    13. public Posten(int nummer, String beschreibung)
    14. {
    15. this.nummer = nummer;
    16. this.beschreibung = beschreibung;
    17. }
    18. public void gebotDurch(Person bieter, long hoehe)
    19. {
    20. if((hoechstesGebot == null) ||
    21. (hoechstesGebot.gibHoehe() < hoehe)) {
    22. setzeHoechstesGebot(new Gebot(bieter, hoehe));
    23. }
    24. else {
    25. System.out.println("Für den Posten mit der Nummer: " +
    26. gibNummer() +
    27. " (" + gibBeschreibung() + ")" +
    28. " gibt es bereits ein Gebot von: " +
    29. hoechstesGebot.gibHoehe());
    30. }
    31. }
    32. /**
    33. * @return die Nummer dieses Postens.
    34. */
    35. public int gibNummer()
    36. {
    37. return nummer;
    38. }
    39. /**
    40. * @return die Beschreibung dieses Postens.
    41. */
    42. public String gibBeschreibung()
    43. {
    44. return beschreibung;
    45. }
    46. /**
    47. * Liefere das höchste Gebot für diesen Posten.
    48. * Das Ergebnis kann 'null' sein, wenn noch kein
    49. * Gebot abgegeben wurde.
    50. * @return das höchste Gebot
    51. */
    52. public Gebot gibHoechstesGebot()
    53. {
    54. return hoechstesGebot;
    55. }
    56. /**
    57. * @param hoechstesGebot das neue Höchstgebot.
    58. */
    59. private void setzeHoechstesGebot(Gebot hoechstesGebot)
    60. {
    61. this.hoechstesGebot = hoechstesGebot;
    62. }
    63. }
    Alles anzeigen
  • Die Methode musst du in der Klasse Auktion schreiben.
    Dort sollte irgendwo eine Liste von Posten sein.
    Diese kannst du durchlaufen.
    Dann verwendest du die Methode gibHoechstesGebot() von Posten.
    Diese Methode gibt dir entweder das Gebot zurück, wo alle benötigten Informationen dran hängen sollten oder null, wenn kein Gebot abgegeben wurde.
    Versuche zu verstehen, warum null zurück gegeben wird, denn das würde ich dich fragen, wenn ich die Übung abnehmen würde.