首页 > 解决方案 > 对于未执行的语句

问题描述

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

    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 循环以便它们由编译器执行或就我可能做错的事情提供任何建议,我将不胜感激。

谢谢。

标签: javafor-loop

解决方案


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

for(i = 0; i > XArray.length; i++){

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

您几乎肯定想检查它是否小于数组长度。这将适合用于遍历数组的通用 for 循环模式。


推荐阅读