Como ordenar palavras

7 respostas
J

oi pessoal gostaria de saber qual código em Arrey eu uso para por palavras ou letras em ordem alfabética, claro o programa vai pedir que o usuário digite as…

7 Respostas

felipebonezi

Ninguém aqui lhe dará o código propriamente pronto. Se você tivesse um esboço de um código seria mais fácil alguem ajudar, por isso lhe darei uma “lógica”.

Um tipo primitivo ‘char’, em Java, nada mais é do que um número do tipo ‘int’ da tabela Unicode que representa um caractere. Ou seja, podemos comparar mesmo declarando tipos ‘char’ como inteiros. Então podemos usar aqueles velhos e conhecidos operadores de comparação (< > >= <= != ==).

Para resolver seu exercicio, que tal comparar em um Array, posição por posição(for), uma letra(a) com outra(b)?

Fik Dik!
Espero ter explicado bem…

Abraço.

FelipeGalli

Palavras ou Letras ?

F

Seguinte,

Sendo bem direto use o método sort da classe Arrays.

paulo1911

Olá amigo, fshima.

Veja o exemplo que te mando para ordenar em ordem alfabética as palavras digitadas em um console por exemplo;

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

/** Exemplo de como ordenar palavras digitadas em console
 * @author paulo.leite
 * @since 1.6
 * @version 1.0
 */
public class TesteOrdered {

	/** Método Main da Classe de Exemplo
	 * @param args
	 * 
	 * @author paulo.leite
	 */
	public static void main(String[] args) {
		Scanner entrada = new Scanner(System.in);
		System.out.println("Digite as palavras: (*use virgula para mais de uma palavra)\n");
		String palavra = entrada.next();

		for (String s : getPalavrasOrdenadas(palavra)) {
			System.out.println(s);
		}
	}

	/** Método getPalavrasOrdenadas() da Classe de Exemplo
         * Ordena as palavras e retorna a lista
	 * @param String palavras
	 * @since 1.6
	 * @author paulo.leite
	 * @version 1.0
         */
	private static List<String> getPalavrasOrdenadas(String palavras) {

		if (palavras != null) {
                        
			String arrayPalavras[] = palavras.split(",");

                        //pego o array de palavras e converto em lista de palavras
			List<String> listaPalavras = new ArrayList<String>(Arrays.asList(arrayPalavras));
			
			Collections.sort(listaPalavras, new Comparator<String>() {
				@Override
				public int compare(String palavra1, String palavra2) {
					return palavra1.toString().compareTo(palavra2.toString());
				}
			});
			return listaPalavras;
		}
		return null;
	}
}

Espero ter ajudado
Fallow Abraço

F

Seguinte,

Legal... mas não era eu que estava com a dúvida, estava propondo uma solução.

mais especificamente:

import java.util.Arrays;


/*
 * @author Fernando Shima
 * @version 1.00 25/03/2011
 */

public class OrdenarPalavras {
                public static void main(String[] args) throws IOException {
		
		String a[] = new String[3];
		a[0] = "saldk";
		a[1] = "adjd";
		a[2] = "dddd";
		Arrays.sort(a);
		
		for (int cont = 0; cont< a.length; cont++){
			System.out.println(a[cont]);
		}
}
}
felipebonezi

Ei, o sort() vai organizar as palavras em ordem alfabética ou as letras de cada palavra em casa posição cont?

A

Cada classe tem sua forma natural de ordenação… no caso da string é Alfabetica.

O que você pode fazer é criar sua propria ordenação… Usando Comparator / Comparable.

Att

Criado 25 de março de 2011
Ultima resposta 25 de mar. de 2011
Respostas 7
Participantes 6