【发布时间】:2015-05-11 23:24:28
【问题描述】:
我有一个带有颜色变量的数组
Color [] [] bin = new Color [64] [];
之后我想在这个数组中插入颜色 我遍历颜色列表,而 tmpColor 是循环中的特定颜色。我需要将它插入到它所属的特定循环中。
int idx = 16* (tmpColor.getRed()/64) + 4*(tmpColor.getGreen()/64) + (tmpColor.getBlue()/64);
bin[idx].push(tmpColor);
但是这似乎不起作用。如何在特定索引的数组中添加颜色?
【问题讨论】:
-
响应“似乎不起作用”非常模糊。你有错误吗?如果你这样做,请发布它。你有例外吗?如果这样做,请发布堆栈跟踪。
idx可以超过 64 吗?您的代码中有一些错误,但我想帮助您找出它们,而不是仅仅给您答案。 -
最大 idx 为 16 * 3 + 4 * 3 + 3 = 63 - 这里一切正常。
-
这是我得到的错误“无法在数组类型 Color[] 上调用 push(Color)” idx 不能超过 64
-
为什么你认为有
#push方法可以向数组中添加一些东西?这是 Java 而不是 JavaScript。如果你想添加一些东西,请使用bin[index] = arrayOfColorToAdd;。请注意tmpColor不是数组,不能添加到bin[index]。 -
@user3540466 您是否只是在计算一个数字并希望将其存储在数组中,或者是否有一些后续值可能存储在数组的第一个维度中,这将使用二维数组。
标签: java arrays multidimensional-array colors