2013-11-15 202 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应该能够管理你的进口,所以你不必担心它们。 –