Salve a tutti.
Il mio main è:
codice:
        System.out.println("Elementi:");
        Elemento[] el = s.getElementi();
        for(int i=0; el[i]!=null; i++)
            System.out.println(el[i].getNome());
E richiama questo metodo:
codice:
    public Elemento[] getElementi(){
        int length=elementi.size();
        int i=0;
        Elemento[]elem=new Elemento[length+1];
        for(i=0;i<length;i++){
        elem[i]=elementi.get(i);}

        
        return elem;}
Ma lì mi si ferma il programma dicendomi:
codice:
Elementi:
Src
R
Sink1
Sink2
T
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
    at idraulica.Esempio.main(Esempio.java:23)
La linea 23 è
codice:
for(int i=0; el[i]!=null; i++)
. Sapete spiegarmi dov'è il problema? E' sicuramente una banalità, ma non ne vengo a capo.