ricorsivo
codice:import java.util.ArrayList; import java.util.List; public class Esercizio{ List<String> dizionario = new ArrayList<String>(); List<String> paroleTrovate = new ArrayList<String>(); private void inserisci() {//leggere da file il dizionario e caricarlo nell'arraylist dizionario.add("mare"); dizionario.add("mola"); dizionario.add("lama"); dizionario.add("remo"); } private void stampa(){ for(String parola : paroleTrovate) { System.out.println(parola); } } private void processParola(String parola, int numeroCaratteri) { this.paroleTrovate.add(parola); this.dizionario.remove(parola); String fineParola = parola.substring(parola.length() - numeroCaratteri); for(String vocabolo : this.dizionario) { if(vocabolo.startsWith(fineParola)) { processParola(vocabolo, numeroCaratteri); return; } } } public static void main (String[] args) { //sintassi: java Esercizio <parola iniziale> <numero caratteri> Esercizio catena = new Esercizio(); catena.inserisci(); catena.processParola(args[0], Integer.parseInt(args[1])); catena.stampa(); } }

Rispondi quotando