2014-06-15 46 views
-2
private Piece[][] board; 

public cboard(){ 
     this.board = new Piece[8][8]; 
    } 

    public boolean isEmpty(int x, int y){ 
     boolean empty= true; 
     if (board[x][y] != null){ 
      empty= false; 
     } 
     return empty; 
} 
public void placePiece(Piece, int x, int y){ 
    if(isEmpty(x, y)){ 
     board[x][y] = piece; 
    } 
} 
} 

這會創建一個數組的碎片? 該函數必須檢查是否該地方是空的如何在bluej中聲明一個數組?

回答

0

是的,在你的構造函數中你正確地創建了數組。 默認情況下,Java將使用null值填充數組,但它知道它們應該是Piece對象。

所以你的isEmpty方法應該工作,因爲它測試null。但是,您可能需要一種方法,以便再次刪除Piece,並將陣列中的條目重新設置爲null - 否則您的isEmpty只能在開始時使用。

只是一個提示:
你可以打破你的isEmpty方法只有一行。它返回一個boolean,如果board[x][y] != null結果爲boolean,那麼測試結果也是如此。
因此,所有你需要的是return board[x][y]==null;

最後一兩件事:cboard應該以大寫字母開頭,像Java中的所有類。

相關問題