gpt4 book ai didi

java - 从二维数组返回字符元素

转载 作者:行者123 更新时间:2023-12-01 12:52:53 26 4
gpt4 key购买 nike

我有一个方法,可以根据输入坐标参数从二维字符串数组中返回字符元素。

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] 具有的任何字符值?

最佳答案

问题是编译器无法证明您的 getCellState()总是返回某些内容(我想有点误导性的编译器错误)。

可能知道 player01(如果 isValidCooperative()) code> 返回 true,但编译器无法读懂你的想法。它注意到您没有说明在 isValidCooperative() 返回 trueplayer isn't< 的情况下要返回什么/strong> 01 并提示,因为返回某些内容的方法必须保证在所有情况下都返回某些内容,并且对于编译器来说,在某些情况下,方法未定义为返回某些内容。

因此,您可以将 else if 更改为常规 else,或者添加另一个 else 情况来定义如果 >isValidCooperative() 返回 true 并且 player 不是 01

关于java - 从二维数组返回字符元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24093402/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com