Verständnisproblem mit Assoziationen

theqwe

Aktives Mitglied
Hallo zusammen,

ich habe mal wieder ein Problem. Wir hatten jetzt die Assoziationen und sollen dazu wieder eine Übungsaufgabe fertigstellen. Dazu gab es ein UML Diagramm, das ich in eclipse schon umgesetzt habe. Jetzt geht es aber an die Aufgabe und ich habe keine Ahnung, wie genau diese umgesetzt werden soll:

a) Programmieren Sie die Klassen Abteilung und Mitarbeiter in Java wie im
UML-Klassendiagramm dargestellt.
Klasse Abteilung:
• Die Methode ausgabeMitarbeiter soll eine Liste der Namen und Per-
sonalnummern der Mitarbeiter einer Abteilung ausgeben.
Klasse Mitarbeiter:
• Der Konstruktor soll jedem Mitarbeiter eine fortlaufende Personalnummer
beginnend mit 1 zuordnen.
• Die Methode bestimmeKollegen soll ein Feld von Mitarbeitern als Er-
gebnis zurückgeben. Beachten Sie: Ein Mitarbeiter ist nicht sein eigener
Kollege.
b) Programmieren Sie die Klasse Mitarbeiterverwaltung mit der main-Me-
thode. Es sollen mehrere Abteilungen und Mitarbeiter erzeugt werden. Jede Me-
thode aus dem Klassendiagramm soll mindestens einmal aufgerufen werden.

12900

Mein Code sieht wie folgt aus: (einige Methoden aufgrund der Variablen noch nicht fertig)

Java:
package VL13;

public class Mitarbeiterverwaltung {

    public static void main(String[] args) {
      
        Abteilung abteilung1 = new Abteilung("Buchhaltung");
        Mitarbeiter mitarbeiter1 = new Mitarbeiter("Max Mustermann", abteilung1);

    }
}
Java:
package VL13;

public class Mitarbeiter {

    private String name;
    private int personalnummer;
    private static int anzahlMitarbeiter;
  
    private Abteilung abteilung;
  
    public Mitarbeiter(String name, Abteilung abt) {
      
        this.name = name;
        abteilung = abt;
        anzahlMitarbeiter++;
    }
  
    public void setName(String name) {
      
        this.name = name;
    }
  
    public String getName() {
      
        return name;
    }
  
    public int getPersonalnummer() {
      
        return personalnummer;
    }
  
    public Abteilung getAbteilung() {
      
        return abteilung;
    }
  
    public boolean isKollege(Mitarbeiter mit) {
      
        return false;
    }
  
    /*public Mitarbeiter[] bestimmeKollegen() {
      
        return ;
    }*/
}

Java:
package VL13;

public class Abteilung {
  
    private String bezeichnung;
  
    private Mitarbeiter[] abteilungsMitarbeiter;
  
    public Abteilung(String bezeichung) {
      
        this.bezeichnung = bezeichnung;
    }
  
  
    public String getBezeichnung() {
        return bezeichnung;
    }
  
    /*public int getAnzahlMitarbeiter(Mitarbeiter mit) {
      
        return ;
    }*/
  
    public void addMitarbeiter(Mitarbeiter mit) {
      
        abteilungsMitarbeiter[0] = mit;
    }
  
    /*public Mitarbeiter getMitarbeiter(int i) {
      
        return ;
    }
  
    public void ausgabeMitarbeiter() {
      
    }
*/
}

Wie baue ich die Assoziationen auf? Besonders mit den Datentypen Mitarbeiter und Abteilungen weiß ich da nichts anzufangen.

Wie immer Danke im Voraus
 

httpdigest

Top Contributor
Die Assoziationen "Mitarbeiter hat eine Abteilung" und "Abteilung hat null bis fünfzehn Mitarbeiter" hast du ja quasi schon mit den Instanzvariablen in den beiden Klassen modelliert.
 

theqwe

Aktives Mitglied
Okay, dann habe ich das doch richtig gemacht. Habe das anhand eines anderen Beispieles aus der Vorlesung so übernommen. Das Problem ist, dass z.B. die "Buchhaltung" gar nicht gesetzt wird. Ich weiß jetzt nicht, was der nächste Schritt ist.
 

theqwe

Aktives Mitglied
So,
dass das mit der Buchhaltung nicht geklappt hat, lag an einem Tippfehler. Jetzt konnte ich einen neuen Mitarbeiter und eine neue Abteilung erzeugen. Wenn ich jetzt aber die addMitarbeiter() Methode verwenden möchte, kriege ich eine NullPointerExeption. Wie kriege ich das jetzt hin?
 

lennero

Bekanntes Mitglied
So,
dass das mit der Buchhaltung nicht geklappt hat, lag an einem Tippfehler. Jetzt konnte ich einen neuen Mitarbeiter und eine neue Abteilung erzeugen. Wenn ich jetzt aber die addMitarbeiter() Methode verwenden möchte, kriege ich eine NullPointerExeption. Wie kriege ich das jetzt hin?

Ist das die Methode aus Post 1? Das Array wurde nicht instanziert. Solltest du vermutlich im Konstruktor machen. Die Größe hast du ja gegeben.
 

theqwe

Aktives Mitglied
Hi,

ja genau. Ist die Methode aus 1. Habe das Array jetzt instanziert, aber nicht im Kontruktor, weil ich sonst aus den Methoden irgendwie nicht zugreifen kann. Soweit funktioniert jetzt erstmal alles. Ich kann ja später mal den Code hier posten, falls jemand Verbesserungsvorschläge hat. Bin offen für verschiedene Lösungswege.
 

mihe7

Top Contributor
aber nicht im Kontruktor, weil ich sonst aus den Methoden irgendwie nicht zugreifen kann.
Die Deklaration muss schon als Instanzvariable erfolgen. Die Initialisierung kann innerhalb des Konstruktors erfolgen:

Java:
public class Abteilung {
  
    private String bezeichnung;
  
    private Mitarbeiter[] abteilungsMitarbeiter; // Deklaration als Instanzvariable
  
    public Abteilung(String bezeichung) {
      
        this.bezeichnung = bezeichnung;
        abteilungsMitarbeiter = new Mitarbeiter[15]; // Initialisierung von abteilungsMitarbeiter
                                                     // mit neu erstelltem Array, das 15 Referenzen
                                                     // auf Mitarbeiter aufnehmen kann
    }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Verständnisproblem bei Server/Client Java Basics - Anfänger-Themen 3
nonickatall Grundsätzliches Verständnisproblem des Aufbaus eines Programms Java Basics - Anfänger-Themen 19
X Verständnisproblem Call-By-Reference Java Basics - Anfänger-Themen 5
P JavaFX: Verständnisproblem bei ComboBox/ChoiceBox etc. Java Basics - Anfänger-Themen 9
M Verständnisproblem der Rekursion bei Arrays Java Basics - Anfänger-Themen 8
A Erste Schritte Verständnisproblem Java Basics - Anfänger-Themen 5
S Verständnisproblem Aufgabe Java Basics - Anfänger-Themen 9
S Model View Controller: Verständnisproblem Java Basics - Anfänger-Themen 13
temi Verständnisproblem Class.forName() Java Basics - Anfänger-Themen 3
2 Verständnisproblem bei Anwendung von Lower Bounded Wildcards Java Basics - Anfänger-Themen 5
V Verständnisproblem Java Basics - Anfänger-Themen 22
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
A Verständnisproblem Ausgabe Do-While-Schleife Java Basics - Anfänger-Themen 3
J Verständnisproblem einer Methode Java Basics - Anfänger-Themen 20
M Konstruktur - Verständnisproblem Java Basics - Anfänger-Themen 4
C Postinkrement und println - Verständnisproblem Java Basics - Anfänger-Themen 8
T Verständnisproblem beim Vigenere-Verfahren Java Basics - Anfänger-Themen 2
Q MVC Verständnisproblem: Controller vs model.modelChanged() Java Basics - Anfänger-Themen 0
N Verständnisproblem InsertionSort. Java Basics - Anfänger-Themen 2
D Verständnisproblem Java Basics - Anfänger-Themen 2
B VerständnisProblem mit Beispielaufgabe aus Buch Java Basics - Anfänger-Themen 1
H Polymorphie Verständnisproblem Vererbung/Polymorphie Java Basics - Anfänger-Themen 4
FrankR2 Grundsätzliches Verständnisproblem: Java 32/64-bit; Windows 7/8, 32/64-bit-System Java Basics - Anfänger-Themen 5
S Verständnisproblem bei Interfaces Java Basics - Anfänger-Themen 6
V Verständnisproblem Java Basics - Anfänger-Themen 5
V Arrays-verständnisproblem Java Basics - Anfänger-Themen 4
M Collections HashSet verständnisproblem Java Basics - Anfänger-Themen 9
S Verständnisproblem einer Übungsaufgabe Java Basics - Anfänger-Themen 6
H Abstrakte Basisklasse Verständnisproblem! Java Basics - Anfänger-Themen 8
G Verständnisproblem mit swing Java Basics - Anfänger-Themen 6
F Methoden Cannot refer to a non-final variable.. verständnisproblem. Java Basics - Anfänger-Themen 7
P Verständnisproblem main Methode Java Basics - Anfänger-Themen 9
S Klassen Verständnisproblem Konstruktor Java Basics - Anfänger-Themen 7
I e.getMessage(); - Verständnisproblem Java Basics - Anfänger-Themen 6
lesni Vererbung Vererbung - Verständnisproblem Java Basics - Anfänger-Themen 2
M OOP Polymorphie/Vererbung Verständnisproblem Java Basics - Anfänger-Themen 2
J Verständnisproblem Methoden-Kettung Java Basics - Anfänger-Themen 3
A Vererbung Verständnisproblem bei Übung Java Basics - Anfänger-Themen 5
E Verständnisproblem Typkonvertierung Java Basics - Anfänger-Themen 4
S OOP Verständnisproblem Umsteiger Java Basics - Anfänger-Themen 22
C Array Verständnisproblem Java Basics - Anfänger-Themen 3
P White-Box-Test Verständnisproblem Java Basics - Anfänger-Themen 11
D : ? Operator -Verständnisproblem Java Basics - Anfänger-Themen 24
G Verständnisproblem: Exceptions Java Basics - Anfänger-Themen 17
L Eclipse verlangt "{" nach ";"... Verständnisproblem Java Basics - Anfänger-Themen 5
D charAt(i) verständnisproblem Java Basics - Anfänger-Themen 4
D Verständnisproblem Marken und Schleifen Java Basics - Anfänger-Themen 19
M Verständnisproblem bei Ternären Operanten bzw. Bedingungsoperator Java Basics - Anfänger-Themen 8
T Datentypen Verständnisproblem mit main Methode Java Basics - Anfänger-Themen 3
M Verständnisproblem Threads Java Basics - Anfänger-Themen 7
X Threads und synchronized - Verständnisproblem Java Basics - Anfänger-Themen 3
W ArrayLists: Verständnisproblem bei remove() Java Basics - Anfänger-Themen 2
B Verständnisproblem zu Swing und Methoden Java Basics - Anfänger-Themen 8
A Postinkrement-Verständnisproblem Java Basics - Anfänger-Themen 12
R Iterator Liste, Verständnisproblem Java Basics - Anfänger-Themen 4
1 Verständnisproblem mit Foreach Java Basics - Anfänger-Themen 4
B Verständnisproblem bei Vererbung Java Basics - Anfänger-Themen 3
W generisches Programmieren - Verständnisproblem Java Basics - Anfänger-Themen 4
A Verständnisproblem Nr 2 Java Basics - Anfänger-Themen 14
A Verständnisproblem Java Basics - Anfänger-Themen 6
A Array Verständnisproblem Java Basics - Anfänger-Themen 8
G Verständnisproblem --> JTree Java Basics - Anfänger-Themen 6
M Verständnisproblem mit der Klasse Thread Java Basics - Anfänger-Themen 10
N BufferedReader Verständnisproblem Java Basics - Anfänger-Themen 12
G Verständnisproblem: Code kompelieren und interpretieren Java Basics - Anfänger-Themen 3
S Polymorphie Verständnisproblem Java Basics - Anfänger-Themen 4
G Verständnisproblem Türme von Hanoi Java Basics - Anfänger-Themen 4
G Verständnisproblem Serverinput einlesen. Java Basics - Anfänger-Themen 4
J Array und Schleifen Verständnisproblem Java Basics - Anfänger-Themen 25
G Verständnisproblem Java Basics - Anfänger-Themen 4
N Verständnisproblem: Mehrere Objekte einer Klasse erstellen Java Basics - Anfänger-Themen 2
S SelectionListener + repaint().Verständnisproblem ;) Java Basics - Anfänger-Themen 7
V Verständnisproblem mit Abstrakten zu Konkreten Klassen Java Basics - Anfänger-Themen 7
A Problem mit der Stringgrösse, bzw Verständnisproblem? Java Basics - Anfänger-Themen 14
A Verständnisproblem mit ScrollPanel Java Basics - Anfänger-Themen 3
R Verständnisproblem mit Hibernate Java Basics - Anfänger-Themen 2
T Verständnisproblem mit equals() Java Basics - Anfänger-Themen 4
N datei byte für byte auslesen (verständnisproblem) Java Basics - Anfänger-Themen 2
T Verständnisproblem packages/import Java Basics - Anfänger-Themen 9
Chucky Lineare Listen Programm Verständnisproblem Java Basics - Anfänger-Themen 38
D Verständnisproblem Java Basics - Anfänger-Themen 6
S for Schleifen: Verständnisproblem Java Basics - Anfänger-Themen 15
T Vererbung von Attributen und Methoden, Verständnisproblem Java Basics - Anfänger-Themen 4
bernd while-Schleife: Verständnisproblem Java Basics - Anfänger-Themen 7
S verständnisproblem drucken Java Basics - Anfänger-Themen 11
G GridBagLayout: Verständnisproblem Java Basics - Anfänger-Themen 5
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
N Assoziationen Java Basics - Anfänger-Themen 11
M Assoziationen Java Basics - Anfänger-Themen 4
R Assoziationen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben