Nota che l'array ris ha lunghezza minore o uguale rispetto a quella dell'array a, quindi se ipotizzi una situazione del genere, dove:Originariamente inviato da Michael1989
codice:... public static int [] getPari(int [] a){ int count=0; for(int i=0; i<a.length;i++){ if(a[i]%2==0){ count++; } } int [] ris= new int [count]; for(int i=0; i<a.length-1; i++){ if(a[i]%2==0){ ris[i]=a[i]; // riga 21 ERRORE } } return ris; } ...
se a = {1, 2, 3}, allora ris.length = 1
ma il tuo codice tenta di fare questa operazione:
ris[1] = a[1]
che sicuramente genera l'errore riscontrato.