L
LeSmou
Gast
Hallihallo,
ich hatte die Aufgabe eine kleine Bibliotheksverwaltung zu programmieren:
Sie sollen eine Bibliotheksverwaltung programmieren. Die Anforderungen an das Programm sind in folgendem Pflichtenheft zusammengestellt:
Buch
1. ISBN, Titel, Erscheinungsjahr und Anzahl der Exemplare sollen gespeichert werden.
2. alle Daten müssen einzeln gelesen werden können.
3. Ein neues Buch kann nur angelegt werden, wenn die ISBN bekannt ist. Die Anzahl der Exemplare wird mit 1 voreingestellt.
4. Titel und Erscheinungsjahr müssen einzeln gespeichert bzw. geändert werden können.
5. Die Anzahl der Exemplare kann um einen beliebigen Wert erhöht werden.
6. zu jedem Buch kann es höchstens einen Herausgeber geben. Stellen Sie entsprechende Operationen bereit, um diese Assoziation zu verwalten
7. Es soll eine Operation bereitgestellt werden, um alle Angabe zu einem Buch auszugeben. Falls kein Herausgeber existiert, soll die Meldung „kein Herausgeber“ erscheinen.
Herausgeber
1. Besteht aus einem Namen und einem Kürzel für das Geschlecht (m/w)
2. zum Anlegen eines Herausgebers müssen Namen und Kürzel bekannt sein.
3. alle Daten müssen einzeln gelesen werden können.
Zur Aufgabe gehören:
• Erstellen von zwei Java-Fachkonzeptklassen, die den obigen Anforderungen genügen.
• Ergänzen der Fachkonzeptklassen um eine Start-Klasse, die einen Herausgeber und zwei Bücher anlegt und diese dann anzeigt. Dabei sollen alle Attribute belegt und angezeigt werden. Nur einem Buch soll tatsächlich einem Herausgeber zugeordnet werden.
• Erstellen Sie den Quellcode unter Beachtung der beschriebenen Konventionen und Emp-fehlungen.
Hat auch alles wunderbar funktioniert, bloß beim fett markierten Teil habe ich noch Probleme, denn ich bekomme es einfach nicht hin, dass kein Herausgeber angezeigt wird, wenn ich das Buch keinem Herausgeber zuordne, denn sobald ich, dass mache kommt ne Fehlermeldung! Hat jemand ne Lösung für mein Problem?
Hier mal meine drei Klassen:
ich hatte die Aufgabe eine kleine Bibliotheksverwaltung zu programmieren:
Sie sollen eine Bibliotheksverwaltung programmieren. Die Anforderungen an das Programm sind in folgendem Pflichtenheft zusammengestellt:
Buch
1. ISBN, Titel, Erscheinungsjahr und Anzahl der Exemplare sollen gespeichert werden.
2. alle Daten müssen einzeln gelesen werden können.
3. Ein neues Buch kann nur angelegt werden, wenn die ISBN bekannt ist. Die Anzahl der Exemplare wird mit 1 voreingestellt.
4. Titel und Erscheinungsjahr müssen einzeln gespeichert bzw. geändert werden können.
5. Die Anzahl der Exemplare kann um einen beliebigen Wert erhöht werden.
6. zu jedem Buch kann es höchstens einen Herausgeber geben. Stellen Sie entsprechende Operationen bereit, um diese Assoziation zu verwalten
7. Es soll eine Operation bereitgestellt werden, um alle Angabe zu einem Buch auszugeben. Falls kein Herausgeber existiert, soll die Meldung „kein Herausgeber“ erscheinen.
Herausgeber
1. Besteht aus einem Namen und einem Kürzel für das Geschlecht (m/w)
2. zum Anlegen eines Herausgebers müssen Namen und Kürzel bekannt sein.
3. alle Daten müssen einzeln gelesen werden können.
Zur Aufgabe gehören:
• Erstellen von zwei Java-Fachkonzeptklassen, die den obigen Anforderungen genügen.
• Ergänzen der Fachkonzeptklassen um eine Start-Klasse, die einen Herausgeber und zwei Bücher anlegt und diese dann anzeigt. Dabei sollen alle Attribute belegt und angezeigt werden. Nur einem Buch soll tatsächlich einem Herausgeber zugeordnet werden.
• Erstellen Sie den Quellcode unter Beachtung der beschriebenen Konventionen und Emp-fehlungen.
Hat auch alles wunderbar funktioniert, bloß beim fett markierten Teil habe ich noch Probleme, denn ich bekomme es einfach nicht hin, dass kein Herausgeber angezeigt wird, wenn ich das Buch keinem Herausgeber zuordne, denn sobald ich, dass mache kommt ne Fehlermeldung! Hat jemand ne Lösung für mein Problem?
Hier mal meine drei Klassen:
Code:
public class Buch {
private int isbn;
private String titel;
private int erscheinungsJahr;
private int anzahlExemplare = 1;
private Herausgeber herausGeber;
public Buch(int isbn) {
this.isbn = isbn;
}
public int getAnzahlExemplare() {
return anzahlExemplare;
}
public int getErscheinungsJahr() {
return erscheinungsJahr;
}
public int getIsbn() {
return isbn;
}
public String getTitel() {
return titel;
}
public void setErscheinungsJahr(int erscheinungsJahr) {
this.erscheinungsJahr = erscheinungsJahr;
}
public void setTitel(String titel) {
this.titel = titel;
}
public void erhoeheAnzahlExemplareUm(int neueAnzahlExemplare){
this.anzahlExemplare = anzahlExemplare + neueAnzahlExemplare;
}
public void setHerausGeber(Herausgeber hg) {
herausGeber = hg;
}
public String toString(){
String info = "ISBN: " +isbn+ "\nTitel: "+titel+ "\nErscheinungsjahr: "+erscheinungsJahr
+ "\nAnzahl der Exemplare: "+anzahlExemplare+ "\nHerausgeber: " +herausGeber.getName()+" "
+herausGeber.getGeschlecht();
return info;
}
}
Code:
public class Herausgeber {
private String name;
private char geschlecht;
public Herausgeber(String name, char geschlecht) {
this.name = name;
this.geschlecht = geschlecht;
}
public char getGeschlecht() {
return geschlecht;
}
public String getName() {
return name;
}
}
Code:
public class Start {
public static void main(String[] args) {
Herausgeber h1 = new Herausgeber("Heinz Müller", 'm');
Buch b1 = new Buch(46546465);
Buch b2 = new Buch(78979878);
b1.setHerausGeber(h1);
b1.setErscheinungsJahr(2001);
b1.setTitel("Java für Anfänger");
b1.erhoeheAnzahlExemplareUm(1);
System.out.println("\n"+b1.toString());
b2.setErscheinungsJahr(2003);
b2.setTitel("SQL für Profis");
b2.erhoeheAnzahlExemplareUm(10);
System.out.println("\n"+b2.toString());
}
}