Meu contador não conta

É assim, eu criei um contador que é inicializado como uma variável global, e é usado dentro de um método de uma instância para indexar os eventos que estou criando. Aí que o problema se encontra sempre que eu chamo o método o contador sempre é 0, nunca prossegue como queria.
ex: 1ª chamada do método == b = 0;
2ª chamada do método == b = 1; …

Summary

private int b = 0;

public void cadastrar(String titulo, String local, String hora, String data, int st, int capacidade) {
        if (capacidade == -1) {
            evento[b] = new Evento();
            evento[b].setTitulo(titulo);
            evento[b].setLocal(local);
            evento[b].setHora(hora);
            evento[b].setData(data);
            evento[b].setStatusEvento(st);
            codigo[b] = evento[b].getCodigo();
        }else{
        evento[b] = new Evento(titulo, local, hora, data, st, capacidade);
        codigo[b] = evento[b].getCodigo();
        }
        b++;
    }

Posta o código onde você chama o método cadastrar várias vezes

Summary

O construtor de PanArray é usado para isso:

public PanArray(int qnt) {
        this.evento = new Evento[qnt];
        this.codigo = new int [qnt];        
    }
case 1:
                        System.out.println("Qual é o título do evento");
                        titulo = ler.next();
                        System.out.println("Qual é o local do evento");
                        local = ler.next();
                        System.out.println("Em que hora vai acontecer o evento");
                        hora = ler.next();
                        System.out.println("Em que data vai acontecer o evento (dd/mm/aaaa)");
                        data = ler.next();
                        System.out.println("Qual é a capacidade do evento(para a capacidade default = -1)");
                        capacidade = ler.nextInt();

                        if(capacidade < -1 || capacidade == 0){
                            System.out.println("Qual é a necessidade de criar um evento sem capacidade?");
                            System.out.println("Não trabalho com isso!!!");
                        }else{
                        eventos[a] = new PanArray(qnt);
                        eventos[a].cadastrar(titulo, local, hora, data, 2, capacidade);
                        a++;
                                break;

Para cada objeto PanArray que você cria, você está chamando o método cadastrar uma única vez.

Valeu vc me esclareceu um pouco mais sobre como devo prosseguir.

Se o contador deve ser incrementado a cada chamada de método independente da instância que o invoca, então declare ele como static.

1 curtida

Foi mal a demora para responder. Fiz isso e deu super certo!!! Muito Obrigado.