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.sort para ordenar.
  • Exibir o resultado com Arrays.toString no formato Nomes 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

  1. Importamos java.util.Arrays para ter acesso aos métodos utilitários.
  2. Declaramos o array nomes com quatro strings na ordem original.
  3. Chamamos Arrays.sort(nomes), que ordena o array in-place (modifica o próprio array).
  4. Usamos Arrays.toString(nomes) para converter o array em uma string legível, no formato [elemento1, elemento2, ...].
  5. 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. Use Arrays.toString.
  • Assumir que Arrays.sort retorna um novo array: ele retorna void e 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]