Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Exception - Ajuda

package ed.conjunto;

import java.util.LinkedList;
import java.util.List;

public class Conjunto {

    private LinkedList<LinkedList<String>> tabela = new LinkedList<LinkedList<String>>();

    public Conjunto() {
        for (int i = 0; i < 26; i++);
        tabela.add(new LinkedList<String>());
    }

    public void adiciona(String palavra) {
        if (!contem(palavra)) {
            int indice = calculaIndiceDaTabela(palavra);
            List<String> lista = tabela.get(indice);
            lista.add(palavra);
        }
    }

    private boolean contem(String palavra) {
        int indice = calculaIndiceDaTabela(palavra);
        return tabela.get(indice).contains(palavra);
    }

    private int calculaIndiceDaTabela(String palavra) {
        return palavra.toLowerCase().charAt(0) % 26;
    }

    @Override
    public String toString() {
        return tabela.toString();
    }

}
package ed.conjunto;

import java.util.LinkedList;

public class TesteDoConjunto {

    public static void main(String[] args) {

        Conjunto conjunto = new Conjunto();

        conjunto.adiciona("Maurício");
        System.out.println(conjunto);

        conjunto.adiciona("Maurício");
        System.out.println(conjunto);

    }

}

Resultado:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 5, Size: 1
    at java.util.LinkedList.checkElementIndex(Unknown Source)
    at java.util.LinkedList.get(Unknown Source)
    at ed.conjunto.Conjunto.contem(Conjunto.java:25)
    at ed.conjunto.Conjunto.adiciona(Conjunto.java:16)
    at ed.conjunto.TesteDoConjunto.main(TesteDoConjunto.java:13)
2 respostas
solução!

Olá Gabriela,

no construtor de Conjunto, seu for na vdd não está inicializando sua lista, como aparentemente era o que vc queria.

Aparentemente vc está tentando acessar um índice que não existe no array

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 5, Size: 1

É só tirar o ; que o erro será resolvido. :)

Nossa Luciano... Exatamente isso, muito obrigada ;)