声明未执行

时间:2018-05-09 15:38:55

标签: java for-loop

我有点疑惑为什么这不能正常执行。

    int mouseX;
    int mouseY;
    int[] XArray = new int [10000];
    int[] YArray = new int [10000];

变量初始化为公共。

public void timeInterval(){
    mouseX = (int)MouseInfo.getPointerInfo().getLocation().getX();
    mouseY = (int)MouseInfo.getPointerInfo().getLocation().getY();
    System.out.println("mouseX and mouseY are collected");
            for(i = 0; i > XArray.length; i++){
                XArray[i] = mouseX;
                System.out.println("XArray works");
            }

            for(j= 0; j > YArray.length; j++){
                YArray[j] = mouseY;
                System.out.println("YArray works");
            }

            System.out.println("The arrays have been created properly");


    System.out.println(mouseX+"X");
    //System.out.println(mouseY+"Y");
    System.out.println(XArray[i]);
}

这是输出。

mouseX and mouseY are collected
The arrays have been created properly
171X
0

由于某种原因,for循环被忽略了。我试图以相同的方式创建另一个for循环,并且循环也没有被执行。

如果有人能帮助修复for循环以便编译器执行它们或者对我可能做错的事情提出任何建议,我将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:0)

你有i > XArray.length,我想你想要i < XArray.length

答案 1 :(得分:0)

for循环由三部分组成,第二部分(for(i = 0; i > XArray.length; i++){ )是每次执行循环体之前检查的条件。

mCameraView

这里,条件检查i是否更大而不是数组长度,它永远不会(你刚刚将它初始化为0,并且数组长度不能为负数!)所以循环永远不会运行。

您几乎肯定想要检查它是否更少而不是数组长度。然后,这将适合用于迭代数组的公共for循环模式。