Olá, pessoal…
Tenho uma dúvida com relação à compilação. Já tentei descobrir em todas as linhas possíveis o que está impedindo meu programa de compilar, então resolvi pedir uma ajudinha… Segue aaixo o código e a exception:
for (i = 0; i < simulador.torre.getPousos().size(); i++){
while (iterarPousos.hasNext()){
iterarPousos.next();
if(simulador.torre.getPousos().get(i).getCombustivel() == 0 && pistaPousoOcupadas < 2){
System.out.println("Entra no primeiro if");
pistaPousoOcupadas++;
System.out.printf("Aviao %s pousando na pista %d\n", simulador.torre.getPousos().get(i).getIdentificacao(), pistaPousoOcupadas);
iterarPousos.remove();
aeroporto.setNumeroAvioes(aeroporto.getNumeroAvioes() - 1);
}
else if(simulador.torre.getPousos().get(i).getCombustivel() == 0 && pistaPousoOcupadas > 2){
System.out.println("Entra no segundo if");
System.out.printf("Aviao %s desviado para Aeroporto %s\n", simulador.torre.getPousos().get(i).getIdentificacao(), simulador.aeroportos.get(i).getId());
avioesDesviados++;
iterarPousos.remove();
aeroporto.setNumeroAvioes(aeroporto.getNumeroAvioes() - 1);
}
else if(pistaPousoOcupadas < 2){
System.out.println("Entra no terceiro if");
pistaPousoOcupadas++;
System.out.printf("Aviao %s pousando na pista %d\n", simulador.torre.getPousos().get(i).getIdentificacao(), pistaPousoOcupadas);
iterarPousos.remove();
aeroporto.setNumeroAvioes(aeroporto.getNumeroAvioes() - 1);
}
else
break;
}
}
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.LinkedList.entry(Unknown Source)
at java.util.LinkedList.get(Unknown Source)
at aeroporto.Simulador.main(Simulador.java:180)
Às vezes ele entra no terceiro if (na maioria dos casos ele deve entrar neste) e imprime no máximo duas vezes, depois a exception aparece. Alguém sabe o que é?
Desde já grato!