public class Dicionario {
public ListaDeVocabulos[] dicionario = new ListaDeVocabulos[26];
boolean contem;
public Dicionario() {
for (int posicao = 0; posicao <= 25; posicao++) {
dicionario[posicao] = new ListaDeVocabulos();
}
}
//Metodo que insere as palavras no dicionario
public void inserirVocabulo(Vocabulo v) {
int posicao = this.getPosicao(v);
if (!this.contem(v)) {
if (posicao >= 0 && posicao <= 25) {
dicionario[posicao].adicionarVocabulo(v);
}
} else {
System.out.print("A palavra" + dicionario[posicao] + "já existe no dicionário");
System.out.println("\n");
}
}
//Método que remove a palavra do dicionário,
public void removerVocabulo(Vocabulo v) {
int posicao = this.getPosicao(v);//Busca a posição de acordo com a primeira letra da palavra
if (!this.contem(v)) {//Caso a palavra não exista no dicionário entra no if.
if (posicao >= 0 && posicao <= 25) {//Margem de segurança da posição do Array
dicionario[posicao].deletarVocabulo(v);
}
}
}
//Método para imprimir as palavras
public void imprimir() {
for (int posicao = 0; posicao <= 25; posicao++) {
dicionario[posicao].imprimir();
}
}
//Metodo que busca dados de uma determinada palavra
public void getDadosDaPalavra(Vocabulo v) {
if (this.contem(v)) {
int posicao = this.getPosicao(v);
dicionario[posicao].imprimir();
System.out.println("Posição:" + posicao);
} else {//Caso a palavra não exista no dicionario, mostra a mensagem abaixo.
System.out.println("\nA palavra '" + v.getVocabulo() + "' não existe");
}
}
//Metodo que pega a posição da palavra
public int getPosicao(Vocabulo v) {
int posicao = v.getVocabulo().toUpperCase().charAt(0) - 65;
return posicao;
}
//metodo que verifica se existe a palavra
public boolean contem(Vocabulo v) {
for (int posicao = 0; posicao < this.dicionario.length; posicao++) {
if (this.dicionario[posicao].getLista().contains(v)) {
contem = true;
} else {
contem = false;
}
}
return contem;
}
}
import java.text.Collator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class ListaDeVocabulos {
public List<Vocabulo> lista = new ArrayList<Vocabulo>();
public static int NUMPALAVRAS = 0;
//Construtor com um parametro
public ListaDeVocabulos() {
}
//Metodo para adicionar uma palavra
public void adicionarVocabulo(Vocabulo vocabulo) {
if (this.contem(vocabulo)) {
System.out.println("\nA palavra " + vocabulo.getVocabulo() + " já foi cadastrada\n");
} else {
getLista().add(vocabulo);
NUMPALAVRAS++;
ordenaVocabulos();
}
}
//Metodo para excluir uma palavra
public void deletarVocabulo(Vocabulo vocabulo) {
if (this.contem(vocabulo)) {
getLista().remove(vocabulo);
System.out.println("O Vocabulo " + vocabulo.getVocabulo() + " foi excluido");
} else {
System.out.println("O Vocabulo não existe");
}
NUMPALAVRAS--;
}
//Metódo para imprimir as palavras do dicionário
public void imprimir() {
Iterator<Vocabulo> it = getLista().iterator();
while (it.hasNext()) {
Vocabulo v = it.next();
System.out.println("Vocabulo: " + v.getVocabulo());
System.out.println("Significado: " + v.getSignificado());
System.out.println("Classe Gramatical: " + ClasseGramatical.getDescricaoClasseGramatical(v.getClasseGramatical()));
}
}
//Metodo que verifica se a palavra está presente no dicionário
public boolean contem(Vocabulo vocabulo) {
boolean contem;
if (getLista().contains(vocabulo)) {
contem = true;
} else {
contem = false;
}
return contem;
}
//Metodo de ordenacao de Vocabulos
public void ordenaVocabulos() {
Collections.sort(lista);
}
public List<Vocabulo> getLista() {
return lista;
}
public void setLista(List<Vocabulo> lista) {
this.lista = lista;
}
}
public class Vocabulo implements Comparable {
private String vocabulo;
private String significado;
private int classeGramatical;
//construtores
public Vocabulo(String v) {
this.setVocabulo(v);
this.setSignificado("");
this.setClasseGramatical(ClasseGramatical.DESCONHECIDO);
}
Vocabulo() {
throw new UnsupportedOperationException("Not yet implemented");
}
Vocabulo(String v, String s, int c) {
}
//Metodos Get e Set
public String getVocabulo() {
return vocabulo;
}
public void setVocabulo(String vocabulo) {
this.vocabulo = vocabulo;
}
public String getSignificado() {
return significado;
}
public void setSignificado(String significado) {
this.significado = significado;
}
public int getClasseGramatical() {
return classeGramatical;
}
public void setClasseGramatical(int classeGramatical) {
this.classeGramatical = classeGramatical;
}
public int compareTo(Vocabulo o) {
return this.vocabulo.compareTo(o.getVocabulo());
}
}
e ai galera ta dando estes tres erros
compile:
Exception in thread “main” java.lang.NullPointerException
at meudicionario.Dicionario.getPosicao(Dicionario.java:76)
at meudicionario.Dicionario.inserirVocabulo(Dicionario.java:26)
at meudicionario.Main.main(Main.java:58)