Domanda

posso lavorare come creare anagrammi di una stringa, ma non so come posso confrontare un dizionario di parole reali per verificare se l'anagramma è una parola vera. C'è una classe nel API Java che contiene l'intero dizionario inglese?

È stato utile?

Soluzione

No, ma è possibile ottenere un elenco di parole da vari luoghi . Da lì, si poteva leggere il file lista di parole in un elenco:

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();

E infine binario panoramica uso lines.contains() per la tua parola candidato.

Altri suggerimenti

Un metodo per determinare se un insieme di caratteri è un anagramma di una parola comporta l'uso di numeri primi. Assegnare ogni lettera un numero primo, per esempio, a = 2, b = 3, c = 5, d = 7. Ora precompute il prodotto di numeri primi per ogni parola nel dizionario. Ad esempio, 'aggiungere' = 2 * 7 * 7 = 98, o 'cattivo' = 3 * 2 * 7 = 42.

Ora, per determinare se un insieme di lettere è un anagramma di qualsiasi parola in un dizionario può essere fatto calcolando il valore del set di lettere. Ad esempio, le lettere 'abd' = 2 * 3 * 7 = 42 = 'cattivo'. Basta controllare se il valore calcolato per le lettere esiste nel vostro dizionario precalcolate. Per qualsiasi anagramma, è necessario solo fare questo calcolo, una volta contro cercando di generare ogni possibile anagramma. Nota tuttavia questo metodo funziona bene solo per relativamente piccole parole, altrimenti si incorrere in problemi di dimensioni e necessità di utilizzare BigInteger.

No, è necessario utilizzare una libreria esterna, come ad esempio JWNL , che è un wrapper per WordNet -. una banca dati lessicale a lettura ottica organizzato da significati , che contiene praticamente ogni parola inglese

Forse l'inglese in jazzy può aiutare.

Non c'è nessuna classe quali specializzata nella libreria standard di Java, ma è possibile utilizzare qualsiasi implementazione ti piace della Imposta interfaccia e inizializzarla caricando in su con le parole di tua scelta, scelto da una qualsiasi delle innumerevoli elenchi di parole nofollow noreferrer si possono trovare in molti posti (basta controllare con attenzione che la licenza per l'elenco di parole che si sceglie è compatibile con l'applicazione prevista, ad esempio, vuol permettono l'uso commerciale, chiuso apps -source se è quello che avete bisogno, e così via).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top