1

私のコードは次のとおりです。

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
}

そのため、これを取得して必要な実際の出力を返すのに問題があります。助けていただければ幸いです!

4

3 に答える 3

0
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;
}
于 2012-11-27T06:00:34.163 に答える
0

これを試して ::

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;
}
于 2012-11-27T06:02:22.127 に答える
0

メソッドで型を返すように指定しましint[][]たが、

return position[x][y];

が を返しているint場合は、確認することをお勧めします。

編集:新しい(編集された)コードによると、パラメータと同じ値を返しています

entityId 

一致する場合、または一致しない0場合。

これはあまり意味がありません。戻り値の型としてブール値を使用しないのはなぜですか? trueつまり、試合に戻るか、falseそれ以外か?

于 2012-11-27T06:06:34.553 に答える