此对象是一包口香糖。每种口香糖都是独一无二的。我们建立了一个可容纳12颗牙龈的包。我们用新的口香糖填充包装。我们必须检查包装,看看这种口香糖是否已经装入包装中。包装中的每个口香糖必须是独特的。Java嵌套循环防止重复
public PackOfGum()
{
pack = new Gum[12];
// Successfully populate pack with gum
for (int i=0; i<12; i++) {
pack[i] = new Gum();
// Failure preventing duplicate gums. Idea is to look in the pack
// at all of the gums that came before this one, and see if this one
// matches any of them. While yes and it is a duplicate, then choose
// a new gum.
for (j=0; j<i; j++) {
while (pack[i] == pack[j]) {
pack[i] = new Gum();
}
}
}
}
我未能正确地检查所有以前的牙龈,并将它们与当前口香糖比较。这应该如何正确完成?
我不知道我是否正确理解您的问题。但是如果你只是想存储一个非重复的枪支集合,那么你可以使用java.util.Set来存储它。您需要在Gum类中实现equals方法来定义相等条件。 –
一个问题:你如何比较胶质物体?使用其内存地址或其值? – MaxZoom
口香糖“种类”的定义是什么?您现在正在比较两个Gum引用是否指向相同的Gum对象实例。鉴于你正在为数组中的每个元素创建一个新的Gum实例,它总是会有所不同。 –