Détection d'un caractère afin de relever un mot

Résolu/Fermé
Shinobi55 Messages postés 21 Date d'inscription mercredi 27 février 2019 Statut Membre Dernière intervention 28 août 2019 - Modifié le 21 août 2019 à 17:05
Shinobi55 Messages postés 21 Date d'inscription mercredi 27 février 2019 Statut Membre Dernière intervention 28 août 2019 - 21 août 2019 à 18:38
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
A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
21 août 2019 à 18:25
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"
1
Shinobi55 Messages postés 21 Date d'inscription mercredi 27 février 2019 Statut Membre Dernière intervention 28 août 2019 1
21 août 2019 à 18:38
Bonjour KX et merci infiniment je ne connaissais pas cette méthode "split" et effectivement elle est drôlement plus pratique à utiliser !! :)
0