Salve a tutti.
Sto cercando di imparare java e ho scritto questo breve codice:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.lang.*;
import javax.swing.JOptionPane;
public class Legge {
	public static void main(String [] args) throws FileNotFoundException, IOException {
		// TODO Auto-generated method stub
		int Quante = -1;
		int wLen = 0;
		boolean isAnagramma;
		String strCerca = new String("OCSA");
		String cW = new String("");
		// Array
		String[] dizionario = new String[1000000];
		
		BufferedReader reader = new BufferedReader(new FileReader("dizionario.txt"));
        String Parola = reader.readLine();
        
        while(Parola!=null) {
            Parola = reader.readLine();
            if (Parola!=null) {
            dizionario[++Quante] = Parola;
            // System.out.println(dizionario[Quante]);
            }
        }
        reader.close();
        
        wLen=strCerca.length();
        for (int k = 0; k <= Quante; k++) 
        {
        	// <<<<==== viene svolto una sola volta
        	if (dizionario[k].length()==wLen) 
        	{
            
        		cW = dizionario[k];
        		isAnagramma = true;
        		if (strCerca.length() == cW.length())    
        			//verifica anagramma
        			for (int i = 0; i < strCerca.length(); i++) 
        			{
        				char c = strCerca.charAt(i);
        				int indice = cW.indexOf(c);
        				if(indice >= 0)
        				{
        					cW = cW.substring(0,indice) + cW.substring(indice+1);
        				}
        				else
        				{
        					isAnagramma = false;
        				}
        			}
        		if (isAnagramma) 
        		{
        			System.out.println(dizionario[k]);
        		}
        		
        	}		
        }		
        System.out.println(Quante);
	}
}
Il codice, nella prima parte importa in un array (dizionario[]) le parole presenti in un file di testo (e questo lo fa correttamente).
Poi, dovrebbe :
leggere le parole dall'array
verificare se la lunghezza della parola del dizionario è uguale a quella di una stringa data "OACS", nel caso specifdico)
se vero, verificare se la parola "OACS" è anagramma di quella nel dizionario
se si, la stampa a video e continua fino alla fine
Il problema è che, pur essendo la variabile "Quante" pari a 683.748, il ciclo (contrassegnato da <<<==== viene seguito una sola volta .....
Non capisco il perchè.
Potreste darmi una mano ?
Grazie.
A margine:
Uso eclipse e vorrei sapere, impostati i breackpoint, ogni volta che si ferma l'esecuzione in basso viene selezionato il tab "Console". C'è un modo per far visualizzare di default il tab "Expressions" dove vedo i valori delle varibili in osservazione ?
P.S. per l'amministratore:
avevo postato ieri sera un analogo messaggio che però non trovo nella lista dei post. Se dovesse essere duplicato, il primo può essere cancellato.