A voir également:
- Problème JAVA (chaine de caractère) aidé moii
- Caractère ascii - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
4 réponses
Utilisateur anonyme
Modifié par danimo le 27/12/2011 à 10:00
Modifié par danimo le 27/12/2011 à 10:00
Salut,
Tout est faisable en utilisant la classe Pattern (import java.util.regex.Pattern;)
D'abord la méthode compile:
Pattern pat = Pattern.compile(" +");// le séparateur des mots est logiquement un espace (" ")
Par précaution on considère qu'il peut y avoir plusieurs espaces entre les mots (" +")
Ensuite pour mettre les mots dans un tableau on utiise la méthode split
String[] tableauDesMots = pat.split(uneChaine);
Il reste à trier le tableau à l'aide de la méthode sort de la classe Arrays (import java.util.Arrays;):
Arrays.sort(tableauDesMots); //Tri du tableau en ordre croissant
Exemple:
La chaine contient des mots réduits à un seul caractère ce qui permettra de constater facilement que le tri est bien effectué.
Cordialement,
Dan
Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.
Tout est faisable en utilisant la classe Pattern (import java.util.regex.Pattern;)
D'abord la méthode compile:
Pattern pat = Pattern.compile(" +");// le séparateur des mots est logiquement un espace (" ")
Par précaution on considère qu'il peut y avoir plusieurs espaces entre les mots (" +")
Ensuite pour mettre les mots dans un tableau on utiise la méthode split
String[] tableauDesMots = pat.split(uneChaine);
Il reste à trier le tableau à l'aide de la méthode sort de la classe Arrays (import java.util.Arrays;):
Arrays.sort(tableauDesMots); //Tri du tableau en ordre croissant
Exemple:
La chaine contient des mots réduits à un seul caractère ce qui permettra de constater facilement que le tri est bien effectué.
String uneChaine = "q w e r t y u i o p a s d f g h j k l z x c v b n m"; Pattern pat = Pattern.compile(" +"); // le séparateur est un ou plusieurs espaces (motif " +") // éclatement en sous-chaînes String[] tableauDesMots = pat.split(uneChaine); // vérifions le contenu du tableau System.out.println("Avant tri:"); for(int i = 0; i <tableauDesMots.length; i++) System.out.println(i+1 + " " + tableauDesMots[i]); Arrays.sort(tableauDesMots); //Tri du tableau en ordre croissant System.out.println("\nAprès tri:"); for(int i = 0; i <tableauDesMots.length; i++) System.out.println(i+1 + " " + tableauDesMots[i]);
Cordialement,
Dan
Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.
Utilisateur anonyme
29 déc. 2011 à 18:25
29 déc. 2011 à 18:25
Salut,
Donc en fait les séparateurs sont des "non mot"
On peut donc remplacer (par programme) ces "non mot" par un espace:
Dan
Donc en fait les séparateurs sont des "non mot"
On peut donc remplacer (par programme) ces "non mot" par un espace:
String uneChaine = "q w, e r t y u: i o p a s d f g h j k. l z? x c v b n m"; uneChaine = uneChaine.replaceAll("\\W", " "); // remplacer de tous les non mot par un espace System.out.println(uneChaine); // il ne reste plus que les espaces Pattern pat = Pattern.compile(" +"); // le séparateur est un ou plusieurs espaces (motif " +") // éclatement en sous-chaînes String[] tableauDesMots = pat.split(uneChaine); // vérifions le contenu du tableau System.out.println("Avant tri:"); for(int i = 0; i <tableauDesMots.length; i++) System.out.println(i+1 + " " + tableauDesMots[i]); Arrays.sort(tableauDesMots); //Tri du tableau en ordre croissant System.out.println("\nAprès tri en ordre croissant:"); for(int i = 0; i <tableauDesMots.length; i++) System.out.println(i+1 + " " + tableauDesMots[i]); // pour lister les mots en ordre décroissant lire par la fin: System.out.println("\nListe en ordre décroissant:"); for(int i = (tableauDesMots.length - 1); i > -1; i--) System.out.println(i+1 + " " + tableauDesMots[i]);
Dan