# Enumirationstypen-Array



## Windows10 (3. Jun 2016)

```
private Fach[] unterrichte()
    {
        unterrichtsfächer=new Fach[9];
        for(Fach a:Fach.values())
        {
            Out.println(Fach.values(a)=a);
        }
        return unterrichtsfächer;
    }
```
Was ist bei folgender Methode in der Schleife falsch?
Fehlercode: *method values in enum Fach cannot be applied to given types; required: no Arguments; found :Fach; reason: actual and formal Argument lists differ in length*


----------



## Cromewell (3. Jun 2016)

Was versuchst du denn genau zu machen?
Du willst "unterrichtsfächer" mit was füllen?
Was gibt den Fach.values() zurück ? Wäre vielleicht gut zu wissen...


----------



## Saheeda (3. Jun 2016)

Das Problem ist diese Zeile:
Out.println(Fach.values(a)=a);

.values() erwartet keine Parameter, du versucht aber, a reinzugeben. Wenn du einfach nur sämtliche Enum-Werte ausgeben möchtest, reicht Out.println(a);

@Cromewell
Fach ist n Enum, steht in seinem anderen Thread. .values() liefert demzufolge ein Array aller Werte.


----------



## Cromewell (3. Jun 2016)

Aber er scheint ja unterrichtsfächer füllen zu wollen ?
Wenn du sie ausgeben willst, ist die for-each-Schleife besser (und das, was @Saheeda geschrieben hat )
Willst du jedoch die Unterrichtsfächer zurückgeben, als Fach[], brauchst du ja im Prinzip nur Fach.values() returnen.


----------

