2016-04-16 2 views
0

Ein Teil meines Projekts habe ich eine Klasse namens Team und eine Klasse Spiel. Wenn ich versuche, den folgenden Code zu kompilieren, sind diese Fehler aufgetreten.Warum kompiliert es nicht Problem

Player allPlayers[] = new Player[10]; 

Syntaxfehler auf Token ";", {Nach diesem Token

auf Token
public void addPlayer(Player p) 

Syntaxfehler erwartet ")"; erwartet nach diesem Token Syntaxfehler auf Token "("; erwartet, nachdem dieses Token

und die gleichen Fehler für alle Methoden Erklärungen

Quellcode der Klasse Team

import java.io.*; 
import java.util.*; 
public class Team 
{ 
rounds = 0; 
private static final int cPlayers = 5; //Arithmos pektwn se kathe omada 
//Constructor 
public Game() { 
............ 
} 

Does es muss alles damit zu tun haben?

+0

Whew tun. Formatieren Sie Ihren Code, dies ist nicht lesbar. Und mach ein [mcve]? Lesen Sie diese Seite sorgfältig durch. Es wird höchstwahrscheinlich dein Problem lösen. – Tunaki

+2

Sie können 'allPlayers [n] = new Forward();' nicht außerhalb einer Methode erstellen (naja, Sie könnten in einem statischen Initialisierer, aber nicht dorthin gehen). Verschieben Sie diese in einen Konstruktor oder eine Init-Methode, die dann irgendwo aufgerufen wird. – KevinO

+1

@KevinO Es gibt auch * Initialisierungsblöcke *; Sie werden in * jeden * Konstruktor kopiert. –

Antwort

0

Sie können diesen Code nur in einen Codeblock einfügen.Was Sie tun können, ist

Player allPlayers[] = new Player[10]; 
{ 
allPlayers[0] = new Forward(); 
allPlayers[1] = new Forward(); 
allPlayers[2] = new Forward(); 
allPlayers[3] = new Defender(); 
allPlayers[4] = new Defender(); 
} 

Oder Sie können

Player[] allPlayers = { new Forward(), new Forward(), new Forward(), 
         new Defender(), new Defender(), 
         null, null, null, null, null };