Problème JAVA (chaine de caractère) aidé moii
devlopMan
-
Utilisateur anonyme -
Utilisateur anonyme -
Salut tout le monde
SVP j'ai besoin d'aide
exercice qui dit :
Introduire une chaine de caractère, analyser cette chaine de caractère et déterminer chaque mot dans cette chaine de caractère (deux mot sont séparer par ,/;/./etc...)
Trier ces mot par ordre d'apparition et par ordre alphabétique
mon problème a moi est comment implémenter les mots dans un tableau pour les trier
S'il existe une autre méthode SVP aidé moi????
SVP j'ai besoin d'aide
exercice qui dit :
Introduire une chaine de caractère, analyser cette chaine de caractère et déterminer chaque mot dans cette chaine de caractère (deux mot sont séparer par ,/;/./etc...)
Trier ces mot par ordre d'apparition et par ordre alphabétique
mon problème a moi est comment implémenter les mots dans un tableau pour les trier
S'il existe une autre méthode SVP aidé moi????
A voir également:
- Problème JAVA (chaine de caractère) aidé moii
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
4 réponses
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.
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