Uhm... guardando il suo esempio, ora mi viene da riflettere...

Se fosse così, sarebbe ancora più semplice:
codice:
public int [] metodo(int [] a) {
   int l = 0;
   int r = a.length-1;
   int [] temp;

   while (l<a.length || ((l%2)!=0)) l++;
   while (r>0 || ((r % 2) == 0)) r--;

   temp = new int[(r-l)+1];
   for (int i=0; i<temp.length; i++) temp[i] = a[l+i];

   return temp;
}
@canturio: quale delle due soluzioni è quella che cerchi?


Ciao.