Exercice java traite le sujet suivant:
Programme java qui lit une suite de mots et les affiche par ordre alphabétique
Examinons ce petit Exercice java:
Écrire un programme qui lit une suite de mots au clavier et qui les affiche triés par ordre alphabétique. On supposera que ces mots ne contiennent que des lettres non accentuées (majuscules ou minuscules). Le nombre de mots sera fourni en données et l’exécution se présentera ainsi :
Combien de mots ? 5 donnez vos mots javaScript Pascal BaSiC Java ADA Liste par ordre alphabetique : ADA BaSiC Java javaScript PascalNotez bien que les mots sont affichés avec leur “casse” d’origine mais que celle-ci n’influe pas sur le tri qui respecte l’ordre alphabétique traditionnel (qui ne distingue pas les majuscules des minuscules).
Les différentes chaînes constituant les mots sont lues dans un tableau d’objets de type String dont la dimension nous est fournie en donnée. Pour en effectuer le tri, nous recourons à la méthode simple du “tri à bulle” qui consiste à comparer chaque élément à tous ses suivants, en procédant à un échange chaque fois qu’ils ne sont pas dans le bon ordre. On notera bien qu’ici, on peut se contenter de trier uniquement les références et non pas les chaînes elles-mêmes, ce qui se fait très simplement en Java.
Pour les comparaisons de chaînes, nous pouvons recourir à la méthode compareTo. Cependant, celle-ci utilise comme ordre des caractères celui induit par la valeur de leur code. Cela signifie que les majuscules sont séparées des minuscules. Il nous faut donc faire porter le tri sur les (références des) chaînes converties (par exemple) en majuscules (à l’aide de la méthode toUpperCase). Mais comme l’énoncé nous impose d’afficher les mots triés suivant leur casse
d’origine, nous devons conserver à la fois le tableaux des références des mots tels qu’ils ont été fournis et un tableau des références sur ces mêmes mots convertis en majuscules. De plus, les deux tableaux doivent être triés en parrallèle.
public class TrisMots
{
public static void main (String args[])
{ // lecture des donnees
System.out.print ("Combien de mots ? ") ;
int nMots = Clavier.lireInt() ;
String [] mots = new String[nMots] ;
System.out.println ("donnez vos mots") ;
for (int i=0 ; i<nMots ; i++)
mots[i] = Clavier.lireString() ;
// conversion de chaque mot en minuscules
String [] motsMin = new String[nMots] ;
for (int i=0 ; i<nMots ; i++)
motsMin[i] = mots[i].toLowerCase() ;
//tri par reorganisation des references(mots d'origine et minuscules)
// (on compare chaque mot (minuscule) a tous ses suivants)
String temp ;
for (int i=0 ; i<nMots-1 ; i++)
for (int j=i+1 ; j<nMots ; j++)
if (motsMin[i].compareTo(motsMin[j]) >= 0)
{temp = motsMin[i]; motsMin[i] = motsMin[j]; motsMin[j] = temp;
temp = mots[i] ; mots[i] = mots[j] ; mots[j] = temp;
}
// affichage des chaines triees
System.out.println ("Liste par ordre alphabetique :") ;
for (int i=0 ; i<nMots ; i++) // ou (depuis JDK 5.0) :
System.out.println (mots[i]) ; // for (String mot : mots)
} // System.out.println (mot) ;
}
Termes de recherche utilisés:
- mots en ordre javascript exercice
- effectuer un trie alphabetique grace a java
- trier une liste de mots par ordre alphabétique en Java
- exercice de tri ordre alphabetique de mot en java
- java table triée alphabétiquement
- javascript ordre des mots exercice
- tri alphabétique en java
- trie alphabetique java
