Ajuda com vectores!

0 respostas
S

Boa noite galera,

Tenho o seguinte problema:

Tenho uma classe que é um vector de outra classe :

public class ProgramacaoDiaria {

    private SlotProgramacao[] slots;
    private int counter;
    private int currentSlot;
    public static final int SIZE = 31;

    public ProgramacaoDiaria() {

        slots = new SlotProgramacao[SIZE];
        counter = 0;
        currentSlot = -1;
    }

    private int searchIndex(Time slot) {

        int i = 0;
        int result = -1;
        boolean found = false;

        while ((i < counter) && (!found)) {
            if (slots[i].equals(slot)) {
                found = true;
            } else {
                i++;
            }
            if (found) {
                result = i;
            }
        }
        return result;
    }

    private void resize() {

        SlotProgramacao tmp[] = new SlotProgramacao[2 * slots.length];

        for (int i = 0; i < counter; i++) {
            tmp[i] = slots[i];
        }
        slots = tmp;
    }

    public boolean hasSlotProgramacao(Time slot) {

        return (searchIndex(slot) >= 0);
    }

    public int getNumberOfSlots() { //equivale a procurar o numero de programas num slot

        return counter;
    }

    public void addSlotProgramacao(Time slot, int duracao, Programa programa) { //falta testar uma condicao

        if (counter == slots.length) {
            resize();
        }

        if ((!hasSlotProgramacao(slot)) /*&& (!(slots[searchIndex(slot)].equals2(slot, duracao))*/) {

            slots[counter++] = new SlotProgramacao(slot, duracao, programa);
        }

    }

    public void deleteContact(Time slot) {

        slots[searchIndex(slot)] = slots[counter - 1];
        counter--;
    }

    public void initializeIterator() {

        currentSlot = 0;
    }

    public boolean hasNext() {

        return ((currentSlot >= 0) && (currentSlot < counter));
    }

    public SlotProgramacao next() {

        return slots[currentSlot++];
    }

pronto, esta classe tem uma colecao de slots de programacao, e os respectivos metodos para buscar por um determinado slot, bem como os metodos para iterar o vector e devolver os elementos do vector. Esta classe esta a funcionar perfeitamente bem, faz tudo o que é suposto fazer, o problema vem agora:

public class ProgramacaoMensal {

    private ProgramacaoDiaria[] progMensal;
    private int counter;
    private int currentProgMensal;
    public static final int SIZE = 12;

e entao, esta classe é um vector da outra classe ... e o que eu tenho de fazer é a mesma coisa, isto é, utilizar os mesmos metodos e fazer a mesma coisa, que é no fim de tudo, listar o conteudo do vector ... ja tentei fazer de multiplas maneiras e nao consigo ... alguma ajuda como listar o conteudo deste vector?

Basicamente é um vector de outro vector ...

O meu main de testes é o seguinte:

public static void main(String[] args) {
        
        Time t = new Time(0, 0, 0);
        Time t1 = new Time(1, 14, 20);
        Programa c = new Programa("Tvi", "Novela", 1, 2);
        SlotProgramacao sp ;
        
        ProgramacaoDiaria col = new ProgramacaoDiaria();
        
        col.addSlotProgramacao(t, 20, c);
        col.addSlotProgramacao(t1, 20, c);
        col.addSlotProgramacao(t1, 20, c);
        
        col.initializeIterator();
        
        while(col.hasNext()){
            sp = col.next();
            System.out.println(sp.mostraSlot());
        }
Criado 8 de dezembro de 2012
Respostas 0
Participantes 1