Faltó validar que cuando se esté en la primera pagina del libro y el usuario marque la opción 1, que aunque no se muestre en pantalla la opción, igual la marque no disminuya en uno a i ya que tomará valor de -1 y esto generará una Exception al leer el ArrayList.
int response = AmazonUtil.validateUserResponseMenu(0, 2);
if(response == 2){
i++;
}
//faltó poner que esto se haga mientras i sea mayor a 0
else if(response == 1 && i>0){
i--;
} else if(response == 0){
break;
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?