如何检查阵列是否已满,只有在阵列未满时才添加?

时间:2019-11-14 17:39:18

标签: java arrays parameters

我有一个数组,可以添加到其中并检查它是否已满。检查它是否已满后,如果它未满,我将如何添加到数组中,如果它已满,则如何忽略调用?

例如:如果未满,则将间谍添加到阵列中。
该数组不能超过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();

    }
}

0 个答案:

没有答案