Java - 数组在循环中不起作用

时间:2015-03-04 20:18:46

标签: java arrays for-loop

我正试图让我的循环通过16次数组。当我使用upCollisions [i]时,它不起作用,但当我使用upCollisions [0]或数组的任何其他索引时,它可以工作。我无法理解为什么它不能使用for循环。

这是我的代码:

public void handleUpArrow()
{
    int upCollisions[] = {15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,};
    for(int i =0; i < 16; i++)
    {
        if(goldenBallPosition == upCollisions[i])
        {
        }
        else
        {
            jBGrid[goldenBallPosition].setIcon(imageSand);
            jBGrid[goldenBallPosition -16].setIcon(imageBall);
            goldenBallPosition -= 16;
            jBCompass.setIcon(imageCompassNorth);
            jTDirection.setText("N");
            jTSquare.setText((""+goldenBallPosition));
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您的代码存在一些问题。首先,最好在if分支中进行工作,而不是在else中进行。然后我认为问题可能出在这行代码中:

goldenBallPosition -=16;

如果我没有正确理解你的代码,那么如果你使用像这样的循环

,它会有所帮助
for (int i = 15; i >= 0; i--)

执行期间是否收到ArrayOutOfBoundException