1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| public class triChaine1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] tab={"toto" ,"tata","tati","tatalo"};
do{
for (int i=0;i<tab.length-1;i++){
if(Ordonner(tab[i],tab[i+i])==false)
Permute(tab,i);
}//Fin for i
}while(ListeOrdonner(tab)==false);
Afficher(tab);
} //fin main
/*
* ----------------------------------------------------------
*/
/* Cette méthode prend en parametre deux strings et renvoie
true si les deux chaines sont alphabétiquement ordonnée;
false sinon.
--------------------------------------------------------------
*/
static boolean Ordonner(String ch1,String ch2){
char[] carac1 = ch1.toCharArray();
char[] carac2 = ch2.toCharArray();
if(carac1.length>carac2.length){
for (int i=0;i<carac1.length-1;i++){
if (carac1[i]<carac2[i])
return true;
} // Fin for;
return false;
}// fin if
else{
for (int i=0;i<carac2.length-1;i++){
if (carac1[i]<carac2[i])
return true;
} // Fin for;
return false;
}// fin else
}// fin Ordonner
/*
---------------------------------------------------------------------
Cette methode prend en parametre un tableau de string et
permute sous condition deux chaines consecutives
---------------------------------------------------------------------
*/
static void Permute(String[] tab, int i){
String C;
C=tab[i];
tab[i]=tab[i+1];
tab[i+1]=C;
}//Fin Permute
/*
* ------------------------------------------------------------
* * Cette methode affiche un tableau de string
* -------------------------------------------------------------
*/
static void Afficher (String[] tab){
for(String str:tab)
System.out.println(str);
}// Fin Afficher
/*
* --------------------------------------------------------------
* Cette methode prend en parametre un tableau de strings
* et vérifie si elle est alphabétiquement ordonnée
* -----------------------------------------------------------------
*/
static boolean ListeOrdonner(String[] tab){
for (int i=0;i<tab.length-1;i++){
if(Ordonner(tab[i],tab[i+1])==false)
return false;
}
return true;
}// fin ListeOrdonner
} |
Partager