有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java数组在循环内不工作

我试图让我的循环通过数组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) 个答案

  1. # 1 楼答案

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

    goldenBallPosition -=16;
    

    如果我没有正确理解您的代码,那么使用这样的循环可能会有所帮助

    for (int i = 15; i >= 0; i )
    

    您在执行过程中没有收到ArrayOutOfBoundException