【发布时间】:2012-04-01 03:08:08
【问题描述】:
有人可以帮我编写以下代码吗?当 for 循环再次执行时,我的 Point2D 临时数组永远不会覆盖前一个数组。
我使用 for 循环来打印数据,以测试临时数组是否发生了变化……当然不会……为什么会发生这样的事情?
Point2D 在不同的类中定义。它的 x、y 和 z 值是公开的。
我认为可能是 .clone() 函数?
谢谢!
Point2D[] pointArr;
pointArr = populateArr(N);
for (int i = 0; i < N; i++)
{
Point2D[] temp = pointArr.clone();
if (i >= 0)
{
Point2D exch = temp[i];
temp[i] = temp[0];
temp[0] = exch;
//temp[0].z = 0.0;
}
System.out.println();
temp = determine_slopes(temp, N);
Arrays.sort(temp, temp[0].X_ORDER);
}
编辑1:只是为了澄清......我实际上希望Point2D []温度随着每次迭代而改变......但由于某种原因它不会改变。可能是什么问题?
编辑 2:我的 pointArr 输出如下:
10000 0 0.0 0 10000 0.0 3000 7000 0.0 7000 3000 0.0 20000 21000 0.0 3000 4000 0.0 14000 15000 0.0 6000 7000 0.0
当我打印时,我在第一次迭代后打印温度,我的输出看起来不像 pointArr 的......它完全不同。
【问题讨论】:
标签: java arrays for-loop clone