由于某种原因,我的 for 循环只执行一次。它经历了第一次迭代,但随后在开始时陷入困境。这就是循环的样子。
for (int i = 0; i < z.length()/4; i++) {
m.writeInt(z.readInt());
}
for (int i = 0; i < o.length()/4; i++) {
m.writeInt(o.readInt());
}
这是两个独立的循环
这是基数排序合并。但对于二进制文件。如果有帮助的话。我认为这可能与在 m.writeInt() 中调用 z.readInt() 方法有关
米。 o 和 z 是用整数填充的二进制文件 z.length() 返回 16,因此文件中有 4 个整数,因为每个整数为 4 个字节。所以 z.Length()/4 = 4。 循环应该执行 4 次
最佳答案
z.length/4 执行整数除法,因此如果 z=5,那么它将返回 1。这可能是您的问题,但我们必须看到更多信息才能确定。 (例如,o 和 z 是什么?)
关于Java For循环只执行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26552616/