我有点疑惑为什么这不能正常执行。
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循环以便编译器执行它们或者对我可能做错的事情提出任何建议,我将不胜感激。
感谢。
答案 0 :(得分:0)
你有i > XArray.length
,我想你想要i < XArray.length
答案 1 :(得分:0)
for循环由三部分组成,第二部分(for(i = 0; i > XArray.length; i++){
)是每次执行循环体之前检查的条件。
mCameraView
这里,条件检查i是否更大而不是数组长度,它永远不会(你刚刚将它初始化为0,并且数组长度不能为负数!)所以循环永远不会运行。
您几乎肯定想要检查它是否更少而不是数组长度。然后,这将适合用于迭代数组的公共for循环模式。