2012-03-02 60 views
0

我試圖添加一個對象到一個矢量,當我使用下面的代碼粘貼時,我得到錯誤,說:「令牌上的語法錯誤,錯位的構造(S)。」和「令牌上的語法錯誤」gamePaddle「,VariableDecloratorID期望在此令牌之後。」我到處尋找,找不到我做錯了,他們都告訴我像這樣構建Vector。在啓動ListOfGameObjects.add(行...在Java中向矢量添加對象

class GameWorld { 
/** 
* Code that instantiate, hold, and manipulate GameOobjects and related game state data. 
* @author Tyler Thomas 
* 
*/ 
     Paddle gamePaddle = new Paddle(); 
     Ball gameBall = new Ball(); 
     Edge topEdge = new Edge(50, 150); 
     Edge bottomEdge = new Edge(50, 0); 
     Edge leftEdge = new Edge(0, 75); 
     Edge rightEdge = new Edge(100, 75); 
     Vector<GameObject> ListOfGameObjects = new Vector<GameObject>(); 
     ListOfGameObjects.add(gamePaddle); 
} 

回答

5

你試圖將一個類聲明中添加一條語句

你需要把這個代碼塊,例如在構造函數中:

class Gameworld { 
    .... 

    public GameWorld() { 
    ListOfGameObjects.add(gamePaddle); 
    } 

} 

如果你這樣做了,當構造GameWorld對象時,padde將被添加到ListOfGameObjects中。

P.S.你也應該把它重命名爲「listOfGameObjects」。首字母大寫通常保留給類名。這是一個有用的約定,可以使您的代碼更易於閱讀/理解。

P.P.S.你還應該考慮用ArrayList替換Vector。 Vector is considered a bit outdated nowadays

5

任何非實例代碼中出現錯誤,就像ListOfGameObjects.add(gamePaddle);需要一個方法內。

對於這樣一個簡單的例子,把所有的代碼裏面public static void main