【发布时间】:2014-06-07 03:38:42
【问题描述】:
我有一个方法可以根据输入坐标参数从二维字符串数组中返回一个字符元素。
public BattleShips(GameConfiguration config, Player player1, Player player2) {
this.player1 = player1;
this.player2 = player2;
this.config = config;
this.myBoardPlayer1= new char[20][20];
this.myBoardPlayer2= new char[20][20];
}
protected char getCellState(int player, int x, int y) {
if (isValidCoordinate(x,y) == true){
if (player == 0){
return this.myBoardPlayer1[x][y];
}
else if (player == 1){
return this.myBoardPlayer2[x][y];
}
}
else {
return (char) -1;
}
}
问题是上面的代码导致 eclipse 告诉我方法 getCellState() 没有返回 char 类型的结果,即使我已经将实例变量 myBoardPlayer1 和 myBoardPlayer2 初始化为 char[20][20]构造函数。
所以我的问题是:数组中字符元素的返回方法是否正确? 或者, this.myBoardPlayer1[x][y] 是否不被视为角色?如果不是,我该如何更改我的代码,以便 getCellState() 返回 this.myBoardPlayer1[x][y] 具有的任何字符值?
【问题讨论】:
-
return 取决于这个受保护的“char”getCellState,而不是您拥有的实例变量。所以你必须在每个 if 和 else 中返回一个 'char'。
标签: java arrays return character element