-6
我有类Sector作为类Sector的属性(它是一对坐标),我试图让方法运行决定一个玩家是否可以改变部门与否,我得到一个错误,说无效方法不能返回一个值,我可以使用什么方法?因为布尔也不能返回它(顺便说一下,有没有其他错误或编译的警告)Java如何在方法中返回一个值
public class Movement extends Turn {
public Movement (Player player, Sector finalSector, Map map){
this.esegui(player,finalSector,map);
}
public void run(Player player, Sector finalSector, Map map){
if(map.getMatrice()[finalSector.getX()][finalSector.getY()]!=0){
if(finalSector.getX()==player.getSector().getX()){
if(finalSector.getY()==player.getSector().getY()+1||
finalSector.getY()==player.getSector().getY()-1){
//void methods cannot return a value
return player.setSector(finalSector);
}
}
}
}
}
你的'run'方法应该返回'player.setSector(finalSector)'返回的任何类型。 – Eran
player.setSector返回什么?就像伊兰说的那样,因为这就是你试图返回的东西,所以你需要返回那种类型。 –
如果你的'run'方法应该返回移动成功,它应该返回'boolean'。所以如果你的'player.setSector(...)'方法也返回一个'boolean'来表示移动成功,那么你可以返回这个方法调用的结果。 你能给我们额外的信息,你的'player.setSector(...)'方法返回什么,如果你使用运行返回结果? – DrunkenPope