Non è per l'impiccato che mi serve... ma per il gioco.
Avendo inizialmente 7 lettere per la parola massima, ma con un minimo i 3 per la minima.... ecco che servirebbe trovare tutte le parole possibili da 3 a 7 lettere.
Calcolando poi che, nei livelli successivi, le lettere aumenteranno fino ad arrivare a 10....
Non capisco questi come diamine fano e così velocemente
http://www.findallwords.com/wordfin...=&ulast=&umaxl=max&unumber=&umatch=&ucontain=
Col giusto algoritmo.
Vedrò se quello in VB.Net è buono
Non è per l'impiccato che mi serve... ma per il gioco.
Avendo inizialmente 7 lettere per la parola massima, ma con un minimo i 3 per la minima.... ecco che servirebbe trovare tutte le parole possibili da 3 a 7 lettere.
Calcolando poi che, nei livelli successivi, le lettere aumenteranno fino ad arrivare a 10....
Non capisco questi come diamine fano e così velocemente
http://www.findallwords.com/wordfin...=&ulast=&umaxl=max&unumber=&umatch=&ucontain=
import java.io.*;
import java.util.*;
import javax.swing.JOptionPane;
class Base{
short[]letters=new short[26];
public Base(String word){
for(int i=0;i<word.length();i++){
letters[word.charAt(i)-97]++;
}
}
public boolean equals(Object x){
if(x!=null && x.getClass().equals(this.getClass())){
Base a=(Base)x;
for(int i=0;i<this.letters.length;i++)
if(this.letters[i]!=a.letters[i])return false;
return true;
}
return false;
}
}
public class anagrams {
public static void main(String[] args) throws IOException, FileNotFoundException{
BufferedReader input = new BufferedReader(new FileReader("words.txt"));
List <String> dict=new ArrayList<String>();
String word=input.readLine();
while(word!=null){
dict.add(word);
word=input.readLine();
}
String key=JOptionPane.showInputDialog("Inserisci la parola di cui cercare gli anagrammi: ");
Base x=new Base(key);
Iterator <String> i=dict.iterator();
List <String> anag=new ArrayList<String>();
while(i.hasNext()){
String temp=i.next();
if((new Base(temp)).equals(x))
anag.add(temp);
}
System.out.println("Gli anagrammi della parola " + key + " presenti del dizionario sono:");
Iterator <String> i2=anag.iterator();
while(i2.hasNext()){
System.out.println(i2.next());
}
}
}
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?