A
Alexander F.
Gast
Sehr geehrte Java-Gemeinde,
ich sitze hier vor folgendem selbstgeschriebenen Quellcode
Wieso klappt meine Ausgabe nicht? Ich will einfach mal mit einer bidirektionale Assoziation spielen, sowie HashSet ausprobieren...Ich hänge hier seit Stunden und bekomme einfach keine Ausgabe hin! Wie ihr seht habe ich diverse Methoden geschrieben um Zeiger herzustellen, zu löschen etc.. Soweit bin ich von der Korrektheit meiner beiden Klassen (Angestellter und Abteilung) überzeugt, jedoch ist meine main nicht brauchbar -.-
Den Helfern sei bereits jetzt vielen vielen Dank gesagt!
Gruß von eurem verzweifelten
Alexander
ich sitze hier vor folgendem selbstgeschriebenen Quellcode
Java:
import java.util.HashSet;
class Angestellter {
int angNr;
Abteilung arbeitetIn; //Attribut vom Typ Abteilung (Klasse)
Angestellter (int an){
this.angNr = an;
}
//Methoden link, unlink, getlink
protected void link(Abteilung abt) {
arbeitetIn = abt; //wird Abteilung zugeordnet
}
protected void unlink(Abteilung abt) {
arbeitetIn = null; //zeigt nun auf nichts mehr --> unlink!
}
protected Abteilung getLink() { //hier nicht mehr vom Typ void, da was returniert wird
return (arbeitetIn); //gibt aus/returniert, wo gearbeitet wird
}
}
class Abteilung {
String abtName = " ";
HashSet<Angestellter> mitarb = new HashSet<Angestellter>(); //"Tasche" voll mit Angestellten --> HashSet! () nicht vergessen
Abteilung (String ab) {
this.abtName = ab;
}
//Methoden
void link (Angestellter ang) {
mitarb.add(ang); //spricht mit dem Container!!!!!! und addet weiteren ang!
}
private void unlink (Angestellter ang) {
mitarb.remove(ang);
}
public void einstellen (Angestellter ang) {
link(ang); // für Abteilung: Angestellter wird mit Zeiger versehen und geaddet
ang.link(this); // für Angestellter
}
public void entlassen (Angestellter ang) {
unlink(ang);
}
}
public class Bidirektional {
public static void main(String[] args) {
Angestellter gerd = new Angestellter(12); //Name in Konstruktor, nicht in link!!! erst später ins HashSet
Angestellter anni = new Angestellter(1);
Angestellter sigi = new Angestellter(2);
Angestellter ingo = new Angestellter(3);
Angestellter lisa = new Angestellter(4);
Angestellter anna = new Angestellter(5);
Abteilung it = new Abteilung("IT");
Abteilung et = new Abteilung("ET");
Abteilung at = new Abteilung("AT");
Abteilung ot = new Abteilung("OT");
Abteilung ut = new Abteilung("UT");
link(it);
link(gerd);
System.out.println("Der Mitarbeiter " + gerd + " arbeitet in der Abteilung " + it);
}
}
Wieso klappt meine Ausgabe nicht? Ich will einfach mal mit einer bidirektionale Assoziation spielen, sowie HashSet ausprobieren...Ich hänge hier seit Stunden und bekomme einfach keine Ausgabe hin! Wie ihr seht habe ich diverse Methoden geschrieben um Zeiger herzustellen, zu löschen etc.. Soweit bin ich von der Korrektheit meiner beiden Klassen (Angestellter und Abteilung) überzeugt, jedoch ist meine main nicht brauchbar -.-
Den Helfern sei bereits jetzt vielen vielen Dank gesagt!
Gruß von eurem verzweifelten
Alexander