Opa supergelson,
desculpe a demora camarada… fds + segunda feira é tenso.
Seguinte… tenta desta forma:
private static void mostrarDesenhoMaisAntigoFaixaEtaria() {
String classificacaoAPesquisar = JOptionPane.showInputDialog("Qual a faixa etária deseja exibir ?");
int posicaoDoMaisAntigo = 0;
int maisAntigoAtualmente = 0;
for (int i = 0; i < desenhosAnimados.length; i++) {
if (desenhosAnimados[i][CLASSIFICACAO].equals(classificacaoAPesquisar)) {
int anoDoFilme = Integer.parseInt(desenhosAnimados[i][ANO]);
if(anoDoFilme < maisAntigoAtualmente) {
// Guarda a posição do filme mais antigo do array para ser exibido no fim.
posicaoDoMaisAntigo = i;
// Atualiza o valor do mais antigo...
maisAntigoAtualmente = anoDoFilme ;
}
}
}
JOptionPane.showMessageDialog(null,"Filme Mais antigo: " + desenhosAnimados[posicaoDoMaisAntigo][NOME] + ", ano: " + desenhosAnimados[posicaoDoMaisAntigo][ANO]);
}
}
Deve funcionar. A lógica é a seguinte:
Você deve buscar somente entre os filtmes que a classificação for a mesma informada pelo usuário no prompt. E isso é feito nesse if :
if (desenhosAnimados[i][CLASSIFICACAO].equals(classificacaoAPesquisar)) { ... }
DEPOIS de identificado que o filme da posição i ( note que a posição é UNICA para cada filme ) é da classificação procurada… vc TEM QUE analisar o ANO do filme ( afinal de contas, é pelo atributo ANO que nós vamos saber quem é o mais antigo ), e saber que:
"Se o ano que eu acabei de recuperar foi MENOR que o ano que eu tenho ( guardado da ultima pesquisa ) eu devo trocar o valor do meu ano mais antigo por esse ano que eu estou analisando. Além disso, eu preciso guardar a posição desse filme com o MENOR ano do array ( uma das zilhões de possíveis soluções ) para que eu possa voltar no array no fim do processo somente para exibir os dados do filme.
Basicamente é um SELECT… vou percorrer todo o array, e no fim, vou ter guardado a posição do filme que tem o MENOR ano, dentro daquela categoria informada pelo usuário.
Veja se funciona ( Eu não testei ) …