2013-11-15 387 views
1

好,我有一個名爲AbstractPlayer繼承方法

package gr.auth.ee.dsproject.crush.player; 

import gr.auth.ee.dsproject.crush.board.Board; 

import java.util.ArrayList; 

public interface AbstractPlayer 
{ 
    public void setId (int id); 

    public int getId(); 

    public void setName (String name); 

    public String getName(); 

    public void setScore (int score); 

    public int getScore(); 

    public int[] getNextMove (ArrayList<int[]> availableMoves, Board board); 

} 

的interaface和類,我不得不作出稱爲RandomPlayer

package gr.auth.ee.dsproject.crush.player; 


public class RandomPlayer implements AbstractPlayer 
{ 

int id; 
String name; 
int score; 
public RandomPlayer() { 

} 
public RandomPlayer (Integer pid) { 
    id=pid; 
} 
public int getId(){ 
    return id; 
} 
public String getName(){ 
    return name; 
} 
public int getScore(){ 
    return score; 
} 
public void setId(int idSet){ 
    id=idSet; 
} 
public void setName(String nameSet){ 
    name=nameSet; 
} 
public void setScore(int scoreSet){ 
    score=scoreSet; 
} 



public int[] getNextMove (ArrayList<int[]> availableMoves, Board board) { 
    int k; 
    k=availableMoves.size(); 
    int randMove; 
    randMove=(int)(Math.random()*k); 
    int[] arrayMyMove; 
    arrayMyMove= new int[3]; 
    arrayMyMove=getRandomMove(availableMoves , randMove); 
    int[] arrayReturn; 
    arrayReturn = new int[4]; 
    arrayReturn[0]=arrayMyMove[0]; 
    arrayReturn[1]=arrayMyMove[1]; 
    int movement=arrayMyMove[2]; 
    if (movement==0) { 
     arrayReturn[2]=arrayReturn[0]-1; 
    } else if (movement==2) { 
     arrayReturn[2]=arrayReturn[0]+1; 
    } else if (movement==1) { 
     arrayReturn[3]=arrayReturn[1]-1; 
    } else if (movement==3) { 
     arrayReturn[3]=arrayReturn[1]+1; 
    } 
    return arrayReturn; 
} 

和我得到這個錯誤

RandomPlayer類型必須實現繼承的抽象方法AbstractPlayer.getNextMove(ArrayList, Board)

,也對我實施的方法getNextMove 我得到這個錯誤 在該行 多個標記行 - ArrayList中不能得到解決 的類型 - 董事會無法解析到一個 型

有人能告訴我什麼是我的錯誤?

回答

1

您需要在每個使用它的類中導入一個類。

你不能假設僅僅因爲父類導入了一個你的子類也導入了一個類的類。

簡而言之,像在第一堂課中那樣導入ArrayList和Board。

+0

謝謝 它解決了錯誤 –

+0

@JimGeor這將是有意義的Java有短暫的進口ESP,因爲他們真的是在案件99%是相同的,但事實並非如此。順便說一句,你的IDE應該能夠管理你的進口,所以你不必擔心它們。 –