1
resposta

exercicio em java

Escreva um programa que aceite um número indefinido de números até ser o número 0 e depois ordene os números em ordem crescente. Desconsidere o 0 na ordenação.

Exemplos:

Entrada: 5 7 9 10 300 0. Saída: 5 7 9 10 300.

Entrada: 7 4 90 34 0. Saída: 4 7 34 90.

alguém me ajuda

1 resposta

Boa tarde, Edson! Tudo bem com você?

A ideia deste exercício que você especificou é ler os números até encontrar o número 0, armazená-los em uma lista, e depois ordenar essa lista em ordem crescente. Por fim, exibir os números ordenados, desconsiderando o 0. Para isso, uma possível solução é o código abaixo:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class OrdenaNumeros {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<Integer> numeros = new ArrayList<>();

        System.out.println("Digite os números (0 para terminar):");
        
        while (true) {
            int numero = scanner.nextInt();
            if (numero == 0) {
                break;
            }
            numeros.add(numero);
        }
        
        Collections.sort(numeros);
        
        System.out.println("Números ordenados:");
        for (int num : numeros) {
            System.out.print(num + " ");
        }
    }
}

Resultado:

Imagem que mostra os números ordenados

Explicação de cada trecho do código:

  • Importações: Importamos ArrayList, Collections, e Scanner para usar listas, ordenar e ler a entrada do usuário, respectivamente.
  • Lista de Números: Criamos um ArrayList para armazenar os números digitados pelo usuário.
  • Leitura dos Números: Usamos um laço while (true) para ler os números até que o usuário digite 0. Quando 0 é digitado, o laço é interrompido com break.
  • Ordenação: Utilizamos Collections.sort(numeros) para ordenar a lista de números em ordem crescente.
  • Exibição dos Números: Finalmente, usamos um laço for para imprimir os números ordenados.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!