Détection d'un caractère afin de relever un mot [Résolu]

Messages postés
21
Date d'inscription
mercredi 27 février 2019
Statut
Membre
Dernière intervention
28 août 2019
-
Bonjour,

Le titre étant un peu confus je vais vous expliquer mon problème.
Premièrement voici le code en question :
package random;
import org.apache.commons.lang3.StringUtils;
import java.util.Scanner;
public class randomword {
 
 public static void main(String[] args) {
 Scanner scan = new Scanner(System.in);
  System.out.print("Entrez une phrase : ");
  String str = scan.nextLine();
  System.out.println("Phrase : \n" + str);
  str = StringUtils.lowerCase(str);
  int countThe = StringUtils.countMatches(str, " ");
  countThe++;
  int y = str.indexOf(" ",1);
  int x = str.indexOf(" ", 1);
  System.out.println(""+str.substring(y,x));  
 


Mon problème étant que j'aimerais pouvoir compter le nombre d’espaces dans la chaine de caractères et ainsi renvoyer un chiffre aléatoire parmi les espaces pour enfin relever un mot depuis le premier espace aléatoire (ouverture de borne) et un deuxième espace aléatoire (fermeture de borne).

Si le texte est un peu incompréhensible, je me ferais une joie de mieux vous expliquer.

Cdt ! ,

Shinobi55
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
16028
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
18 septembre 2019
2415
1
Merci
Bonjour,

Tu peux faire beaucoup plus simple en découpant ton String avec la méthode split, qui te renverra un tableau avec chacun des mots de la phrase, il reste plus qu' à tirer une case au hasard...

String s = "abc def hijkl mnopq rstuv wxyz";
String[] t = s.split(" ");
int n = (int) (t.length * Math.random());
String r = t[n];
System.out.println(r); // "abc" ou "def" ou "hijkl" ou "mnopq" ou "rstuv" ou "wxyz"

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 60081 internautes nous ont dit merci ce mois-ci

Shinobi55
Messages postés
21
Date d'inscription
mercredi 27 février 2019
Statut
Membre
Dernière intervention
28 août 2019
-
Bonjour KX et merci infiniment je ne connaissais pas cette méthode "split" et effectivement elle est drôlement plus pratique à utiliser !! :)
Commenter la réponse de KX