# Syntax error on token ";", { expected after this t



## binzaa (21. Sep 2006)

Hi Leute in einem Code steckt irgendwo ein Fehler leider komme ich nicht drauf wo. Hoffe ihr könnt helfen.

Hier der Code:

public class Laden 
{
	Artikel ware[] = new Artikel[4];           Hier bekomme ich die Fehlermeldung

	ware[0] = new HandelsArtikel ("Maus", 25.75, 0.2);
        ware[1] = new WerkstattArtikel ("Tower", 180, 30, 0.15);

}

Was mache ich falsch?
Artikel ist eine abstrakte Klasse!

Danke im voraus.

MfG


----------



## EOB (21. Sep 2006)

also bei mir gehts??? die beiden artikel gibts bei dir auch, ja?


----------



## SlaterB (21. Sep 2006)

auf jeden Fall dürfen die beiden Zeilen danach nicht so einfach in der Klasse stehen,
die gehören in einen Konstruktor


----------



## EOB (21. Sep 2006)

das auch, ja. aber sonst gehts...


----------



## _charly_ (21. Sep 2006)

statt

```
public class Laden 
{ 
Artikel ware[] = new Artikel[4]; Hier bekomme ich die Fehlermeldung 

ware[0] = new HandelsArtikel ("Maus", 25.75, 0.2); 
ware[1] = new WerkstattArtikel ("Tower", 180, 30, 0.15); 

}
```

kann man folgendes verwenden


```
Artikel ware[] = { new HandelsArtikel ("Maus", 25.75, 0.2), 
    new WerkstattArtikel ("Tower", 180, 30, 0.15), null, null };
```

natürlich wärs gescheiter diesen code in eine Methode bzw. einen Konstruktor zu schreiben.


----------



## EOB (22. Sep 2006)

noch gescheiter waers, das in ne factory zu packen und dann entwprechend der parameter einen konkreten artikel zu erzeugen.

gruesse


----------



## Eminent (22. Sep 2006)

binzaa hat gesagt.:
			
		

> Hi Leute in einem Code steckt irgendwo ein Fehler leider komme ich nicht drauf wo. Hoffe ihr könnt helfen.
> 
> Hier der Code:
> 
> ...



Der Fehler kommt von der Zeile "danach" also von "ware[0] = new HandelsArtikel ("Maus", 25.75, 0.2);". Problem ist, dass man sowas nicht in einer Klasse machen kann, sondern im Konstruktor oder einer Methode machen muss.

Kommentier mal die beiden Zeilen aus bzw. schreib sie in den Konstruktor und schon sollte es gehen.

Alternativ sollte auch die Variante von _charly_ gehen.

Gruß
Eminent


----------



## binzaa (27. Sep 2006)

Sorry konnte die letzten Tage eure Vorschläge mir nicht angucken. Deswegen die späte Antwort. Jedenfalls haben mir eure Antworten sehr geholfen! Dankeschön. Bis demnächst! 

MfG


----------

