Olá a todos,
Estou a tentar criar uma classe que permita construir uma árvore de letras. Mas não estou a conseguir testar se por exemplo a árvore já contém uma determinada palavra (indicada pelo utilizador). Também quero poder acrescentar uma palavra à árvore.
Alguém me pode dar algumas indicações?
Envio-vos aqui o meu código com alguns comentários:
import java.io.*;
import java.util.*;
public class ArvoreLetra
{
char letra;
boolean fimPalavra;
ArrayList letrasSeguintes;
/* constructor */
ArvoreLetra(char c)
{
letra = c;
fimPalavra = false;
letrasSeguintes = new ArrayList();
}
/* permite modificar a variável fimPalavra
para indicar se uma subArvore corresponde ou não ao fim de uma palavra*/
void setFimPalavra(boolean b)
{
fimPalavra = b;
}
/*testa si a árvore corresponde ao fim de uma palavra, ultima letra*/
boolean isFinDeMot()
{
return fimPalavra;
}
/* testa se o caractere c é uma das letras a seguir à letra corrente */
boolean contemLetra(char c)
{
for (int i=0; i<letrasSeguintes.size(); i++)
{
ArvoreLetra a = (ArvoreLetra)letrasSeguintes.get(i);
if (a.letra == c) return true;
}
return false;
}
/* retorna a subArvore (letra seguinte) que corresponde ao caractere c */
ALettre getSubArvore(char c)
{
for (int i=0; i<letrasSeguintes.size();i++)
{
ArvoreLetra a = (ArvoreLetra)letrasSeguintes.get(i);
if (a.letra == c) return a;
}
return null;
}
/*void acrescentarPalavra(String palavra)
{
}
boolean contemPalavra(String palavra)
{
}*/
}
Obrigado a todos.