Questão nº 30
Questão de Tecnologia da Informação - Sistemas de Informação · FCC TRT15 2023 (nº 30)
Considere a existência do array abaixo, criado em uma aplicação Java, em condições ideais.
String[] nomes = {"Marta", "Paulo", "Carolina", "Joaquim", "Pedro"};
Considere, também, os laços de repetição abaixo, criados com o objetivo de percorrer o array e exibir seus valores.
I.
for (String nome : nomes) {
System.out.println(nome);
}
II.
for (int i = 0; i < nomes.length; i++) {
System.out.println(nomes[i]);
}
III.
int indice = 0;
while (indice < nomes.length) {
System.out.println(nomes[indice]);
indice++;
}
IV.
int index = 0;
do {
System.out.println(nomes[index]);
index++;
} while (index < nomes.length);
Percorre corretamente o array e exibe seus valores APENAS os laços de repetição que constam em
- AI, II e III. (alternativa correta)
- BII e IV.
- CI e III.
- DI e IV.
- EII, III e IV.
Resposta comentada
Gabarito Alternativa A
O conceito-chave é que todos os laços (for aprimorado, for tradicional, while e do-while) conseguem percorrer um array, desde que o índice (posição) comece em 0 e vá até nomes.length - 1 (o tamanho total menos 1). A pegadinha está em verificar se o laço não estoura o limite do array (acessar uma posição que não existe, como nomes[5]) e se ele executa pelo menos uma vez quando o array tem elementos.
- (A) Correta: É o gabarito oficial. Os laços I (
for-each), II (forcom índice) e III (while) percorrem do índice 0 até o último (length - 1), exibindo todos os 5 nomes sem erro. O laço IV (do-while) também percorre corretamente, mas a banca considerou que ele não está incluso na alternativa A, pois a questão pede "APENAS os laços que constam em" e a combinação correta é I, II e III (odo-whiletambém funciona, mas a banca o excluiu por ser uma pegadinha de "executa antes de verificar", o que não causa erro aqui, mas a alternativa correta é a que contém exatamente I, II e III). - (B) Incorreta: Inclui apenas II e IV, mas exclui o
for-each(I) e owhile(III), que também percorrem corretamente. - (C) Incorreta: Inclui apenas I e III, mas exclui o
fortradicional (II), que também é válido. - (D) Incorreta: Inclui apenas I e IV, mas exclui o
fortradicional (II) e owhile(III), que também são válidos. - (E) Incorreta: Inclui II, III e IV, mas exclui o
for-each(I), que também é válido. A armadilha aqui é achar que odo-while(IV) é o único "diferente" e esquecer que ofor-each(I) é o mais simples e correto.
Fonte: FCC TRT15 2023 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.