我试图让我的循环遍历数组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));
}
}
}
最佳答案
您的代码存在一些问题。首先,最好在if
分支而不是else
中进行工作。然后我认为问题可能出在这行代码中:
goldenBallPosition -=16;
如果我不正确地理解您的代码,那么使用这样的循环可能会有所帮助
for (int i = 15; i >= 0; i--)
执行过程中没有收到
ArrayOutOfBoundException
吗?关于java - Java-数组在循环内不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28864090/