corrigido. Seria melhor extrair o try…catch e usar um só no seu simulador,, mais externo, evitando repetição e separando o tratamento de erros do código. O trecho a melhorar é o abaixo:
if (comportamento.equals("Esforcado")){ Esforcado comp=new Esforcado(vetor_aluno[i]); try{ vetor_aluno[i].setComportamento(comp); } catch(Exception e){ System.out.println("Voce tentou fazer algo impossivel"); } } else if (comportamento.equals("Burro")){ Burro comp=new Burro(vetor_aluno[i]); try{ vetor_aluno[i].setComportamento(comp); } catch(Exception e){ System.out.println("Voce tentou fazer algo impossivel"); } } else if (comportamento.equals("Imprevisivel")){ Imprevisivel comp=new Imprevisivel(vetor_aluno[i]); try{ vetor_aluno[i].setComportamento(comp); } catch(Exception e){ System.out.println("Voce tentou fazer algo impossivel"); } } else if (comportamento.equals("Summa")){ Summa comp=new Summa(vetor_aluno[i]); try{ vetor_aluno[i].setComportamento(comp); } catch(Exception e){ System.out.println("Voce tentou fazer algo impossivel"); } } else if (comportamento.equals("SafoPreguicoso")){ SafoPreguicoso comp=new SafoPreguicoso(vetor_aluno[i]); try{ vetor_aluno[i].setComportamento(comp); } catch(Exception e){ System.out.println("Voce tentou fazer algo impossivel"); } } else{ Pemba comp=new Pemba(vetor_aluno[i]); try{ vetor_aluno[i].setComportamento(comp); } catch(Exception e){ System.out.println("Voce tentou fazer algo impossivel"); } }