我有一个数组,可以添加到其中并检查它是否已满。检查它是否已满后,如果它未满,我将如何添加到数组中,如果它已满,则如何忽略调用?
例如:如果未满,则将间谍添加到阵列中。
该数组不能超过10个间谍,因此一旦填充完毕就可以了。我要检查是否已满。如果不是,则添加一个间谍。我该怎么做呢?我以为我可能可以继续使用isFull
方法,但不确定。
public class ConcreteSubject extends AbstractSubject {
public int arySize;
private int i = 0;
private static AbstractSpy[] spies;
public ConcreteSubject(int a) {
arySize = a;
spies = new AbstractSpy[a];
}
@Override
public void addSpy(AbstractSpy spy) {
if (spies.length < 10) {
spies[i] = spy;
System.out.println("spy added at index " + i);
i++;
}
}
public void isFull() {
boolean b = false;
for (int i = 0; i < spies.length; i++) {
if (spies[i] == null) {
b = true;
}
}
if (!b) {
System.out.println("Array is full");
} else {
System.out.println("Array not full");
}
}
@Override
void notifySpies() {
}
}
public class TestSpies {
public static void main(String[] args) {
ConcreteSubject cs = new ConcreteSubject(9);
AbstractSpy spy = new ConcreteSpy();
AbstractSpy[] spies = new AbstractSpy[10];
cs.addSpy(spy);
cs.addSpy(spy);
cs.addSpy(spy);
cs.isFull();
}
}