simone97 ha scritto:
int num = f.list().length;
String[] nome = new String[num];
nome = f.list();
1)
String[] nomi = f.list();
int num = nomi.length;
Non ti sembra meglio?
(il tuo new String[num] è inutile e il list() lo invochi ancora 2 volte)
simone97 ha scritto:
try{
est1 = nome1.substring(nome1.lastIndexOf("."));
}catch(Exception e){
System.out.println("Si è verificato un errore: " + e);
}
2) Ti ho già detto prima che la "buona" soluzione
non è il try-catch ma il test del valore restituito da lastIndexOf. È diverso da -1? Prendi la estensione. È uguale a -1? Ignora il file (o consideralo con estensione "", vuota, se è una opzione che vuoi poter gestire).
3) Ma il problema dei "doppioni" è che scan() lo invochi sia dal main() che dal percorso().
(ancora uno)
4) Il fatto di avere tutti metodi statici e di "passare" i valori tra i metodi usando campi statici non è un "buon" design. Su questo aspetto concettuale dovresti "lavorarci" un pochino.