BlueJ

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

  • Hallo,

    anbei zwei Klassen aus einem Beispielprojekt. Wenn ich Gebot über new Gebot(Person, long) erstellen will, werden diese beiden Parameter abgefragt Wie muss ich Person erfassen ? Als String geht nicht, diverse andere Versuche auch nicht.

    Klasse Auktion:

    Quellcode

    1. import java.util.ArrayList;
    2. /**
    3. * Ein einfaches Modell einer Auktion.
    4. * Ein Exemplar dieser Klasse hält eine Liste von Posten,
    5. * die beliebig lang werden kann.
    6. *
    7. * @author David J. Barnes und Michael Kölling.
    8. * @version 2006.03.30
    9. */
    10. public class Auktion
    11. {
    12. // eine Liste der Posten dieser Auktion
    13. private ArrayList<Posten> postenliste;
    14. // die Nummer, die an den nächsten Posten vergeben wird,
    15. // der für diese Auktion angemeldet wird.
    16. private int naechstePostennummer;
    17. /**
    18. * Erzeuge eine neue Auktion.
    19. */
    20. public Auktion()
    21. {
    22. postenliste = new ArrayList<Posten>();
    23. naechstePostennummer = 1;
    24. }
    25. /**
    26. * Melde einen Posten für diese Auktion an.
    27. * @param beschreibung die Beschreibung des Postens.
    28. */
    29. public void postenAnmelden(String beschreibung)
    30. {
    31. postenliste.add(new Posten(naechstePostennummer, beschreibung));
    32. naechstePostennummer++;
    33. }
    34. /**
    35. * Zeige die komplette Liste der Posten dieser Auktion.
    36. */
    37. public void zeigePostenliste()
    38. {
    39. for (Posten posten : postenliste) {
    40. System.out.println(posten.toString());
    41. }
    42. }
    43. /**
    44. * Biete für einen Posten.
    45. * Es erfolgt eine Ausgabe, ob das Gebot erfolgreich war oder nicht.
    46. * @param postennummer Der Posten, für den geboten wird.
    47. * @param bieter die Person, die bietet.
    48. * @param betrag die Höhe des Gebots.
    49. */
    50. public void bieteFuer(int postennummer, Person bieter, long betrag)
    51. {
    52. Posten gewaehlterPosten = gibPosten(postennummer);
    53. if(gewaehlterPosten != null) {
    54. boolean erfolgreich =
    55. gewaehlterPosten.hoeheresGebot(new Gebot(bieter, betrag));
    56. if(erfolgreich) {
    57. System.out.println("Das Gebot für Posten Nummer " +
    58. postennummer + " war erfolgreich.");
    59. }
    60. else {
    61. // Melden, welches Gebot höher ist.
    62. Gebot hoechstesGebot = gewaehlterPosten.gibHoechstesGebot();
    63. System.out.println("Posten Nummer " + postennummer +
    64. ": Gebot steht bereits bei " +
    65. hoechstesGebot.gibHoehe());
    66. }
    67. }
    68. }
    69. /**
    70. * Liefere den Posten mit der angegebenen Nummer.
    71. * Liefere 'null', wenn ein Posten mit dieser Nummer
    72. * nicht existiert.
    73. * @param nummer die Nummer des Postens, der geliefert
    74. * werden soll.
    75. */
    76. public Posten gibPosten(int nummer)
    77. {
    78. if((nummer >= 1) && (nummer < naechstePostennummer)) {
    79. // die Nummer scheint gültig zu sein.
    80. Posten gewaehlterPosten = postenliste.get(nummer-1);
    81. // ein Sicherheitscheck, ob wir auch den richtigen
    82. // Posten haben:
    83. if(gewaehlterPosten.gibNummer() != nummer) {
    84. System.out.println("Interner Fehler: Posten Nummer " +
    85. gewaehlterPosten.gibNummer() +
    86. " wurde geliefert anstelle von " +
    87. nummer);
    88. }
    89. return gewaehlterPosten;
    90. }
    91. else {
    92. System.out.println("Einen Posten mit der Nummer: " + nummer +
    93. " gibt es nicht.");
    94. return null;
    95. }
    96. }
    97. }
    Alles anzeigen



    Quellcode

    1. Klasse Gebot:
    2. /**
    3. * Eine Klasse, die Gebote in einer Auktion modelliert.
    4. * Ein Gebot enthält eine Referenz auf die Person, die
    5. * das Gebot abgegeben hat, und die Höhe des Gebots.
    6. * @author David J. Barnes und Michael Kölling.
    7. * @version 2006.03.30
    8. */
    9. public class Gebot
    10. {
    11. // die Person, die das Gebot abgegeben hat.
    12. private final Person bieter;
    13. // Die Höhe des Gebots. Da dies potentiell ein sehr hohes
    14. // Gebot sein kann, wurde der Basistyp 'long' gewählt.
    15. private final long hoehe;
    16. /**
    17. * Erzeuge ein Gebot.
    18. * @param bieter die Person, die das Gebot abgibt.
    19. * @param hoehe die Höhe des Gebots.
    20. */
    21. public Gebot(Person bieter, long hoehe)
    22. {
    23. this.bieter = bieter;
    24. this.hoehe = hoehe;
    25. }
    26. /**
    27. * Liefere den Bieter dieses Gebots.
    28. * @return den Bieter.
    29. */
    30. public Person gibBieter()
    31. {
    32. return bieter;
    33. }
    34. /**
    35. * Liefere die Höhe dieses Gebots.
    36. * @return die Höhe dieses Gebots.
    37. */
    38. public long gibHoehe()
    39. {
    40. return hoehe;
    41. }
    42. }
    Alles anzeigen