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.. 是的,我知道它会做同样的事情。事实上,回到那个地方会更清楚。但是,这始终是个人的选择。所以,没问题。