Pregunta

Me puede encontrar la manera de crear anagramas de una cadena, pero no sé cómo puedo compararlos con un diccionario de palabras reales para comprobar si el anagrama es una palabra real. ¿Hay una clase en la API de Java que contiene el diccionario Inglés?

¿Fue útil?

Solución

No, pero se puede obtener una lista de palabras a partir varios lugares. A partir de ahí, se puede leer el archivo de lista de palabras en una lista:

List<String> lines = new ArrayList<String>();
BufferedReader in = new BufferedReader(new FileReader("wordlist.txt"));
String line = null;
while (null!=(line=in.readLine()))
{
   lines.add(line);
}
in.close();

Y finalmente binario de búsqueda lines.contains() para su utilización palabra candidato.

Otros consejos

Un método para determinar si un conjunto de caracteres es un anagrama de la palabra implica el uso de números primos. Asignar a cada letra un número primo, por ejemplo, a = 2, b = 3, c = 5, d = 7. Ahora calcular previamente el producto de números primos para cada palabra en su diccionario. Por ejemplo, 'añadir' = 2 * 7 * 7 = 98, o 'malo' = 3 * 2 * 7 = 42.

Ahora determinar si un juego de cartas es un anagrama de la palabra en un diccionario que se puede hacer calculando el valor del conjunto de letras. Por ejemplo, las letras 'abd' = 2 * 3 * 7 = 42 = 'malo'. Sólo tienes que comprobar si existe el valor calculado para las letras en su diccionario previamente calculado. Para cualquier anagrama, sólo es necesario hacer este cálculo una vez frente tratando de generar todas las posibles anagrama. Nota sin embargo, este método sólo funciona bien para relativamente pequeñas palabras, de lo contrario se encontrará con problemas de desbordamiento y necesidad de utilizar BigInteger.

No, usted tiene que utilizar una biblioteca externa, como JWNL , que es una envoltura para WordNet -. una base de datos léxica de lectura mecánica organizado por significados , que contiene más o menos cada palabra Inglés

Tal vez el diccionario Inglés en jazz puede ayudar.

No hay tal clase especializada en la biblioteca estándar de Java, pero se puede utilizar cualquier aplicación te gusta de la conjunto interfaz y inicializarlo cargándolo con palabras de su elección, recogido de cualquiera de los innumerables noreferrer listas de palabras se puede encontrar en muchos lugares (sólo echa un vistazo cuidado de que la licencia de la lista de palabras que usted elija es compatible con su aplicación prevista, por ejemplo, ¿permite el uso comercial, cerrado aplicaciones -source si eso es lo que necesita, y así sucesivamente).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top