Veröffentlicht 10. April 201114 j Hallo ich versuche gerade n:m Beziehungen mit Hilfe von Assoziationsklassen herzustellen. Mein Projekt : Schule Ich arbeite mit BLUEJ Klasse der Schulklasse: public class SCHULKLASSE { private String name; private int Klassenzimmer; private String zweig; public SCHULKLASSE(String n) { name = n; } } Lehrerklasse: public class LEHRER { private int persnr; private String nachname; private String amtsbezeichung; public LEHRER(int nr ) { persnr= nr; } } Hilfsklasse der Assoziationsklasse(LEHRERKLASSE): public class LEHRERKLASSE { private SCHULKLASSE klasse; private LEHRER person; public LEHRERKLASSE(SCHULKLASSE kla, LEHRER per) { klasse=kla; person= per; } } Beziehung UNTERRICHTET: public class UNTERRICHTET { private LEHRERKLASSE[] klehrer; public UNTERRICHTET() { klehrer = new LEHRERKLASSE[100]; } public void Lehrer_zuordnen(SCHULKLASSE sklasse, LEHRER person){ klehrer= new LEHRERKLASSE(sklasse, person); } } Mein Problem ist Folgendes: Beim Übersetzen der Klasse UNTERRICHTET erscheint folgende Fehlermeldung in der Zeile " klehrer= new LEHRERKLASSE(sklasse, person);" incompatible types-found LEHRERKLASSE but expected LEHRERKLASSE[] Was hab ich falsch gemacht? Wie kann ich den Fehler beheben? Bearbeitet 10. April 201114 j von Senf
10. April 201114 j Generell ein Tip: Halte Dich an die allgm gültige Notation, in der Klassen nicht Uppercase benannt werden. In Deiner Methode "Lehrer_zuordnen" weist Du klehrer ein neues Objekt einer (!) Lehrerklasse zu, da klehrer als Array deklariert ist, wird das nicht funktionieren. Entweder musst Du klehrer anders deklarieren und dann verwenden oder Du weist das neue Objekt einer entsprechenden Position des Arrays zu. Generell würde ich in diesem Fall davon abraten Arrays zu verwenden, da diese statisch sind. Schau Dir das Collectioninterface an (Collection (Java 2 Platform SE v1.4.2) )
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.