出于某种原因,我的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次
答案 0 :(得分:1)
z.length / 4执行整数除法,所以如果你有z = 5,那么它将返回1.这可能是你的问题,但我们必须看到更多确定。 (例如,什么是o和z?)