Problema:
Elabore um programa em Java que leia uma lista de números fornecidos pelo usuário.
Os Números serão fornecidos em uma única linha, separados pelo caractere de espaço.
O programa deverá imprimir a lista fornecida em ordem crescente
Exemplo de entrada: 6 2 8 1 4 0 9
Exemplo de saída: 0 1 2 4 6 8 9
Objetivos:
Apresentar aos alunos os fundamentos de vetores, e os fundamentos de algoritmos de ordenação pelo Método Bolha (Bubble Sort)
/**
* Curso de Programação JAVA
*
* Exercício 18 – Ordenar uma sequência de
* números separados por
* espaços em uma String.
*
* @author Prof. Eric Loque M. Xavier
* @version 1.0.0
* Data 05/01/2017
*
*/
import java.util.*;
public class exercicio18 {
public static void main (String[] args){
Scanner ler = new Scanner(System.in);
System.out.println("Informe uma sequência numerica");
//Lê a sequência de fornecida pelo usuário
String texto = ler.nextLine();
String[] temp;
/*
* Converte a String em vetor
* O delimitador utilizado foi
* o caractere de espaço
*/
temp = texto.split(" ");
//Cria um vetor de inteiros
int vet[] = new int[temp.length];
//Copia a lista de números para o vetor
for(int i =0; i < temp.length ; i++)
vet[i] = Integer.parseInt(temp[i]);
//Método de organização Bubble Sort
int aux;
boolean desordenado;
do
{
desordenado = false;
for(int i =0; i < vet.length-1 ; i++){
if(vet[i]>vet[i+1]){
aux=vet[i];
vet[i]=vet[i+1];
vet[i+1]=aux;
desordenado = true;
}
}
}
while (desordenado);
/*
* Imprime a lista de números em
* ordem crescente
*/
for(int i =0; i < temp.length ; i++)
System.out.print(vet[i]+" ");
}
}