Java lernen mit BlueJ - Lösungsdiskussion

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

  • Java lernen mit BlueJ - Lösungsdiskussion

    Wer hat die Lösungen zum Buch "Java lernen mit BlueJ" 3.Auflage? Vorerst würde mich ein Lösungsvorschlag für 2.74-2.83 interessieren!

    greetz cruiser

    Die Aufgabe wäre wie folgt:

    Quellcode

    1. /**
    2. * Eine Klasse, deren Exemplare Informationen über ein Buch halten.
    3. * Dies könnte Teil einer größeren Anwendung sein, einer
    4. * Bibliothekssoftware beispielsweise.
    5. *
    6. * @author (Ihren Namen hier eintragen.)
    7. * @version (das heutige Datum eintragen.)
    8. */
    9. class Buch
    10. {
    11. // Exemplarvariablen
    12. private String autor;
    13. private String titel;
    14. /**
    15. * Setze den Autor und den Titel, wenn ein Exemplar erzeugt wird.
    16. */
    17. public Buch(String buchautor, String buchtitel)
    18. {
    19. autor = buchautor;
    20. titel = buchtitel;
    21. }
    22. // weitere Methoden hier einfügen ...
    23. }
    Alles anzeigen



    Aufgabe 1: Die Klasse Buch erweitern

    Entnehmen Sie dem Projekt „Buch-Aufgabe“ (oben gezeigt) das Grundgerüst einer Buch-Klasse. Die Klasse definiert bereits zwei Datenfelder und einen Konstruktor, der diese Felder initialisiert. Bauen Sie die Klasse wie folgt aus:

    1. Fügen Sie zwei sondierende Methoden hinzu (gibAutor und gibTitel), die den jeweiligen Wert der Datenfelder autor und titel zurückliefern.

    2. Fügen Sie der Klasse Buch zwei Methoden autorAusgeben und titelAusgeben hinzu. Diese Methoden sollen die entsprechenden Datenfelder auf der Konsole
    ausgeben.

    3. Fügen Sie ein weiteres Datenfeld seiten hinzu, das die Anzahl der Seiten eines
    Buches speichert. Dieses Feld sollte vom Typ int sein und seinen Anfangswert
    durch den einen Konstruktor bekommen, indem dieser neben buchautor
    und buchtitel einen weiteren Parameter enthält. Fügen Sie auch eine entsprechende sondierende Methode gibSeiten hinzu.

    4. Fügen Sie in der Klasse Buch ein weiteres Datenfeld refNummer für eine Referenznummer ein, das z.B. eine ISBN-Nummer enthalten kann. Es sollte vom Typ String sein und im Konstruktor mit einer leeren Zeichenkette "" initialisiert
    werden, da es seinen Wert nicht als Konstruktorparameter bekommen soll. Definieren Sie stattdessen eine verändernde Methode mit folgender Signatur:

    public void setzeRefNummer(String ref)

    Im Rumpf dieser Methode sollte der Wert des Parameters dem Datenfeld refNummer zugewiesen werden. Fügen Sie eine zugehörige Methode gibRefNummer ein, mit deren Hilfe Sie testen können, ob die verändernde Methode korrekt arbeitet.

    5. Passen Sie ihre Methode detailsAusgeben so an, dass sie auch die Referenznummer mit ausgibt. Allerdings soll sie nur dann ausgegeben werden, wenn tatsächlich ein Wert eingetragen wurde – also wenn das Datenfeld eine nichtleere Zeichenkette enthält. Falls das Datenfeld nicht gesetzt wurde, geben Siestattdessen "ZZZ" aus. Hinweis: Benutzen Sie eine bedingte Anweisung, die in ihrer Prüfung die Methode length an refNummer aufruft.

    6. Verändern Sie die Methode setzeRefNummer so, dass sie den Wert des Datenfelds nur ändert, wenn die übergebene Zeichenkette mindestens drei Zeichen lang ist. Wenn der Parameter kürzer ist, lassen Sie eine Fehlermeldung ausgeben und das Datenfeld unverändert.

    7. Fügen Sie der Klasse Buch ein weiteres Feld ausgeliehen hinzu. Es soll einen Zähler beinhalten, der angibt, wie häufig das Buch bereits ausgeliehen wurde. Fügen Sie eine verändernde Methode ausleihen hinzu, die den Zähler bei dem Aufruf um eins erhöht. Fügen Sie die Methode gibAusgeliehen hinzu, die den Wert des neuen Datenfelds als Ergebnis liefert. Erweitern Sie die Methode
    detailsAusgeben so, dass auch die Information des neuen Felds mit einem
    erläuternden Text ausgegeben wird.

    Aufgabe 2:

    Erzeugen Sie ein neues Projekt „Heizungsaufgabe“. Bearbeiten Sie den Text der Projektbeschreibung – diese ist symbolisiert durch das Textsymbol in der linken oberen Ecke des Projektdiagramms. Erzeugen Sie eine Klasse Heizung, welche die beiden Datenfelder temperatur, min, max und Schrittweite enthält. Die Werte von min und max sollen durch Konstruktorparameter initialisiert werden, in der Konstruktormethode sollen zusätzlich noch die temperatur auf den Wert 15 und schrittweite auf den Wert 5 gesetzt werden. Definieren Sie verändernde Methoden waermer und kuehler, die die Temperatur jeweils um den Wert von schrittweite verändern. Definieren Sie eine sondierende Methode, die den Wert von temperatur liefert. Die Methode waermer darf die temperatur aber nicht über den Wert von max erhöhen, die Methode kuehler die temperatur nicht unter den Wert von min senken. Fügen Sie eine Methode setzeSchrittweite mit einem int-Parameter ein, mit der schrittweite gesetzt werden kann, wobei negative Werte nicht zulässig sind und mit Fehlermeldungen quittiert werden müssen.


    !!! Bitte dokumentieren Sie alle Sourcecoodes mit Kommentaren im Programm! Damit lernen Sie die Nachvollziehbarkeit des Programms für andere User zu erhöhen!!!