Kann nicht auf die Liste zugreifen mit der Methode!?

shepherd333

Mitglied
So das wird jetzt etwas kompliziert.

Kurzum, ich finde den Fehler nicht.

Meine void main hat eine (wenn ich richtig liege🙂 geschachtelte Klasse.


Java:
public static void main(String[] args) {
  Mitarbeiter[] mitarbeiter = {a1,a2,a3,a4.....ect,};  // hab a1,a2,ect alles auch angelegt davor.
  initAbt(mitarbeiter);
  ml1 // kann nicht darauf zugreifen, der "punkt" parameter ist nicht auswählbar.
}

public static void initAbt (Mitarbeiter[] mitarbeiter) {
  mitarbeiter[] ml1 = {mitarbeiter[0],mitarbeiter[6]}
  mitarbeiter[] ml2 = {mitarbeiter[2],mitarbeiter[4]}
  mitarbeiter[] ml3 = {mitarbeiter[1],mitarbeiter[3]}
}

Wenn ich jetzt initAbt die Sachen hoch kopiere in die main, dann kann ich auf ml1,ml2,ml3 einfach zugreifen.
Was mache ich falsch. Ich würde gerne das erstellen dieser Listen außerhalb der Main haben und trotzdem darauf zugreifen können!?
Wo ist mein Denkfehler?

Sorry falls es etwas unübersichtlich ist.
 
Zuletzt bearbeitet von einem Moderator:
Bitte Code immer in Code-Tags posten (</> im Editor klicken).

Zum Thema: wenn Du in einer Methode eine Variable deklarierst, handelt es sich um eine lokale Variable, die außerhalb der Methode nicht existiert.

In initAbt legst Du drei lokale Variablen ml1, ml2 und ml3 an, die außerhalb von initAbt eben nicht existieren.

Der Code ist jetzt nicht gerade üppig, daher frage ich mal anders: was hast Du denn eigentlich vor?
 
Danke fürs editieren, tut mir leid das es so unvorteilhaft anzusehen war, ich werds beim nächsten post bedenken!

es ist die version5von6 von vielen verschiedenen Aufgaben und der code is üppig und geht über 4 verschiedene packages und vielen klassen.
ich hab deshalb nur das wesentliche geposted.
Komischerweise, heute funktioniert es irgendwie.
Ich hatte es auch falsch formuliert, sorry mein Fehler, es ging darum ich will dieses erstellen von mitarbeiter_listen in diese methode außerhalb der main verschieben, damit der main teil übersichtlich bleibt.
Ich musste aber diese mitarbeiter_listen noch einer ANDEREN klasse zuordnen und wollte das dann wieder in der main machen.
Was wohl mein 2ter Fehler war. Ich habe jetzt alles in die methode initAbt gepackt und jetzt funktioniert es.

[CODE lang="java" title="methode"]public static void initAbt (Mitarbeiter[] mitarbeiter) {
mitarbeiter[] ml1 = {mitarbeiter[0],mitarbeiter[6]}
mitarbeiter[] ml2 = {mitarbeiter[2],mitarbeiter[4]}
mitarbeiter[] ml3 = {mitarbeiter[1],mitarbeiter[3]}
abteilung_liste[0] = new Abteilung(1, "PR.", ml1);
abteilung_liste[1] = new Abteilung(2, "SALES", ml2);
abteilung_liste[2] = new Abteilung(3, "IT.", ml3);

}[/CODE]

jetzt wenn ich initAbt(mitarbeiter) aufrufe, sind die ml1,ml2,ml3 vorhanden in der Klasse abteilung_liste.
es geht später dann nurmehr um die Ausgaben dieser ANDEREN Klasse.
 
Ich hatte es auch falsch formuliert, sorry mein Fehler, es ging darum ich will dieses erstellen von mitarbeiter_listen in diese methode außerhalb der main verschieben, damit der main teil übersichtlich bleibt.
Ja, da habe ich Dich auch so verstanden 🙂

Mir fällt gerade was ganz anderes auf: ist mitarbeiter (klein geschrieben) ein Typ? Ansonsten dürfte sich der Code oben gar nicht übersetzen lassen, denn dann wäre mitarbeiter das übergebene Array.
 

Neue Themen


Zurück
Oben