Java 如何使用for循环生成int[][]的返回类型?
这是我的密码:Java 如何使用for循环生成int[][]的返回类型?,java,for-loop,return-value,Java,For Loop,Return Value,这是我的密码: public int getPieceCoords(int entityId) { for(int x = 0;x<8;x++) { for(int y=0;y<8;y++) { if(position[x][y] == entityId){ return position[x][y]; }else{ return (int)null
public int getPieceCoords(int entityId) {
for(int x = 0;x<8;x++) {
for(int y=0;y<8;y++) {
if(position[x][y] == entityId){
return position[x][y];
}else{
return (int)null;
}
}
}
//Need a return here, but it overrides the returns above
}
所以,我很难让它返回我想要的实际输出,非常感谢您的帮助 试试这个:
public int getPieceCoords(int entityId) {
int temp = 0;
for(int x = 0;x<8;x++) {
for(int y=0;y<8;y++) {
if(position[x][y] == entityId){
temp = position[x][y];
}
}
}
return temp;
}
public int getPieceCoords(int entityId)
{
int result = -1;
for(int x = 0;x<8;x++)
{
for(int y=0;y<8;y++)
{
if(position[x][y] == entityId)
{
result = position[x][y];
break;
}
}
}
return result;
}
您已指定在方法中返回int[][]类型,但是 返回位置[x][y] 正在返回int,您可能需要检查它 编辑:根据新编辑的代码,返回的值与参数的值相同
entityId
如果匹配,则为0;如果不匹配,则为0
这没有多大意义,为什么不使用Boolean作为返回类型呢?i、 e匹配时返回true,否则返回false?这是什么->返回int[][]null;?我想要的实际输出是什么?上面的返回。。。我必须在下面放一个返回值,它会重置为我在下面的值。你面临的问题是什么?根据您的代码,它将在第一次迭代时仅返回x=0和y=0…我不明白,我们在这里解决的是什么。。。我知道entityId,我正在数组中搜索,如果找到,将返回相同的entityId。。。若它是搜索,那个么我必须返回true或false或entityId的索引。。。我想必须有人告诉我我们在解决什么问题。这不可能是对的,如果entityId是一个int,并且位置[x][y]可以与之相比,那么它一定是一个int。你怎么能将int转换为int[][]哦,对不起,我只是在编辑器中更改了一些东西,因为这是我的第一篇帖子,所以我更改了一些东西,是的,你是对的,这是一个整数eclipse@sunleo,不,我还是不会编译。返回类型是int[][],您正在返回一个intI我的编辑器中仍然有一个错误,它说我需要一个return语句,我要睡觉了,所以我会在早上检查哦,对不起,我是新手,谢谢!这应该是最后的返回结果。为什么要使用临时变量?只要找到一个值就返回。最后返回-1@RohitJain:它也会做同样的事情,只是为clarity@Sashi.. 是的,我知道它会做同样的事情。事实上,回到那个地方会更清楚。但是,这始终是个人的选择。所以,没问题。