java - 对于未执行的语句
问题描述
我有点困惑为什么这不能正常执行。
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 循环以便它们由编译器执行或就我可能做错的事情提供任何建议,我将不胜感激。
谢谢。
解决方案
for 循环由三部分组成,第二部分 ( i > XArray.length
) 是每次执行循环体之前检查的条件。
for(i = 0; i > XArray.length; i++){
在这里,条件检查 i 是否大于数组长度,它永远不会(你刚刚将它初始化为 0,并且数组长度不能为负数!)所以循环永远不会运行。
您几乎肯定想检查它是否小于数组长度。这将适合用于遍历数组的通用 for 循环模式。
推荐阅读
- elasticsearch - 词开发者的弹性搜索发现发展
- maven - 在 jenkins 和 Maven compile 中构建构建时发现问题
- drake - DeclareVectorInputPort() 函数运行时出错
- sql - 如何从另一个数据库的另一个表中添加列
- python - 在 Python 中使用带有 fileopendialog 返回参数的 Tkinter 问题
- python - 使用 panda.read_csv 与 numpy.loadtext 时的输出差异
- regex - 正则表达式从其链接获取firebase的文件路径
- scala - 调用过程的 Slick Query 不会终止程序
- jdbc - 使用 Rest 读取 Confluent JDBC Kafka 源连接器的当前递增值?
- javascript - Javascript逻辑空赋值等价