Médio Java
Ordenar e exibir nomes
Enunciado
Declare um array de String com os nomes {"Carlos", "Ana", "Beatriz", "Daniel"}. Ordene o array em ordem alfabética usando Arrays.sort e exiba os nomes formatados com Arrays.toString.
Requisitos
- Importar
java.util.Arrays. - Usar
Arrays.sortpara ordenar. - Exibir o resultado com
Arrays.toStringno formatoNomes ordenados: [Ana, Beatriz, Carlos, Daniel].
Código inicial
import java.util.Arrays;
public class OrdenaNomes {
public static void main(String[] args) {
// Seu código aqui
}
}
Saída esperada
Nomes ordenados: [Ana, Beatriz, Carlos, Daniel]
Ver dica
Arrays.sort modifica o array original. Depois, use Arrays.toString(nomes) para gerar a representação em string.
Mostrar solução
import java.util.Arrays;
public class OrdenaNomes {
public static void main(String[] args) {
String[] nomes = {"Carlos", "Ana", "Beatriz", "Daniel"};
Arrays.sort(nomes);
System.out.println("Nomes ordenados: " + Arrays.toString(nomes));
}
}
Passo a passo
- Importamos
java.util.Arrayspara ter acesso aos métodos utilitários. - Declaramos o array
nomescom quatro strings na ordem original. - Chamamos
Arrays.sort(nomes), que ordena o array in-place (modifica o próprio array). - Usamos
Arrays.toString(nomes)para converter o array em uma string legível, no formato[elemento1, elemento2, ...]. - Concatenamos com o texto
"Nomes ordenados: "e imprimimos.
Por que funciona
Arrays.sort para String usa a ordem lexicográfica (alfabética) definida pelo método compareTo da classe String. Como o array é modificado diretamente, não precisamos criar um novo. Arrays.toString percorre o array e monta a representação entre colchetes, separada por vírgula e espaço.
Erros comuns
- Esquecer o import: sem
import java.util.Arrays;o código não compila. - Tentar imprimir o array diretamente:
System.out.println(nomes);mostra algo como[Ljava.lang.String;@1b6d3586, não os elementos. UseArrays.toString. - Assumir que
Arrays.sortretorna um novo array: ele retornavoide altera o original.
Outra forma de resolver
Se quiser manter o array original intacto, copie antes de ordenar:
String[] copia = Arrays.copyOf(nomes, nomes.length);
Arrays.sort(copia);
System.out.println(Arrays.toString(copia));
Útil quando a ordem original precisa ser preservada.
Saída esperada
Nomes ordenados: [Ana, Beatriz, Carlos, Daniel]