Neste programa, você aprenderá a classificar as palavras do elemento em ordem lexicográfica usando um loop for e if else em Java.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:
- Java para Loop
- Instrução Java if… else
- Java String
Exemplo: programa para classificar strings na ordem do dicionário
public class Sort ( public static void main(String() args) ( String() words = ( "Ruby", "C", "Python", "Java" ); for(int i = 0; i < 3; ++i) ( for (int j = i + 1; j 0) ( // swap words(i) with words(j( String temp = words(i); words(i) = words(j); words(j) = temp; ) ) ) System.out.println("In lexicographical order:"); for(int i = 0; i < 4; i++) ( System.out.println(words(i)); ) ) )
Resultado
Em ordem lexicográfica: C Java Python Ruby
No programa acima, a lista de 5 palavras a serem ordenadas é armazenada em uma variável, palavras.
Em seguida, percorremos cada palavra (palavras (i)) e as comparamos com todas as palavras (palavras (j)) depois dela no array. Isso é feito usando o método compareTo () da string.
Se o valor de retorno de compareTo () for maior que 0, ele deve ser trocado de posição, ou seja, as palavras (i) vêm depois das palavras (j). Portanto, em cada iteração, as palavras (i) contêm a palavra mais antiga.
Etapas de execuçãoIteração | Palavras iniciais | Eu | j | palavras() |
---|---|---|---|---|
1 | ( "Ruby", "C", "Python", "Java" ) | 0 | 1 | ( "C", "Ruby", "Python", "Java" ) |
2 | ( "C", "Ruby", "Python", "Java" ) | 0 | 2 | ( "C", "Ruby", "Python", "Java" ) |
3 | ( "C", "Ruby", "Python", "Java" ) | 0 | 3 | ( "C", "Ruby", "Python", "Java" ) |
4 | ( "C", "Ruby", "Python", "Java" ) | 1 | 2 | ( "C", "Python", "Ruby", "Java" ) |
5 | ( "C", "Python", "Ruby", "Java" ) | 1 | 3 | ( "C", "Java", "Ruby", "Python" ) |
Final | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |