Salve a tutti avrei un piccolo problema con questo programma
package progetto;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
public class programma {
public void start ()
{
Ricercatore r = new Ricercatore();
HashMap<String, Integer> m = new HashMap<String, Integer>();
ArrayList<String[]> Libri = new ArrayList<String[]>();
String[] listaFile = new String[1000];
System.out.println("1. Inserisci il campo di ricerca;");
System.out.println("2. Interrogazione singolo termine - risultati non ordinati");
System.out.println("3. Interrogazione singolo termine - risultati ordinati");
System.out.println("4. Interrogazione termini multipli - risultati non ordinati");
System.out.println("5. Interrogazione termini multipli - risultati ordinati");
System.out.println("6. Esci");
int i;
String line = new String();
line = Console.readString();
i = Integer.parseInt(line);
if (i>5)
{System.out.println("Non ci sono più di 5 punti");
start();
}
else if (i==1)
{
String pat = Console.readString("Inserisci il percorso");
File f = new File(pat);
listaFile = f.list();
leggi l = new leggi();
for (int j=0; j < listaFile.length ; j++)
{
//System.out.println(listaFile[j]);
l.lettura(listaFile[j], Libri.get(j));
}
}
else if (i==2)
{
if(Libri.isEmpty())
{System.out.println("Devi prima inserire il campo di ricerca");start();}
String parola = Console.readString("Inserisci la parola che vuoi cercare");
for (int j = 0 ; j <= Libri.size() ; j++)
{
if (r.cercaSingoloTermine(Libri.get(j), parola))
m.put(listaFile[j], 1);
}
System.out.println(m);
}
}
}
quando lo faccio partire e scelgo l'opzione 1 sulla console mi esce Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at progetto.programma.start(programma.java:38)
at progetto.inizio.main(inizio.java:8)
qualcuno saprebbe dirmi come faccio a risolvere il problema e da cosa dioende?