Triage un mot aleatoire

cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 - 25 sept. 2009 à 11:16
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 - 28 sept. 2009 à 10:25
bonjour
but de mon prg est
l'utlisateur saisie une phrase,puis le prg affiche les mots de cette phrase dans un ordre pris par hasard

 
package Mypackage;
import java.util.Random;
import java.util.Scanner;
public class autre  
{
 public static void main(String[]args)
 {
 String phrase=new String();
 Scanner sc=new Scanner(System.in);
 System.out.println("Saissisez une phrase" );
 phrase=sc.nextLine();
 String[] mots = Pattern.compile("\\w+" ).split(phrase);
 Random r = new Random();  
    String motAleatoire = mots[r.nextInt(mots.length)];
 }
} 


en compilant j'ai un erreur message suivantes:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Pattern cannot be resolved

at Mypackage.autre.main(autre.java:13)
aidez moi s'il vous plaît

4 réponses

tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
25 sept. 2009 à 12:21
Bonjour,
Le compilateur te le dit : il ne connait pas Pattern.
Ajoute "import java.util.regex.Pattern;"

thip
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
25 sept. 2009 à 18:06
Bonjour
j"ai besoin encore ton aide,
je veux que le prg s'affiche jusqu'à fin des mots;c'est à dire
ex:utilisateur a entrée une phrase "je suis en vacances"
premiere fois on clique sur entrée prg affiche un mot et ensuite entrée cliqué un autre mot ainsi de suite, jusqu'a fin des phrase

package Mypackage;
import java.util.Random;
import java.util.Scanner;
import java.util.regex.*;
public class autre
{
public static void main(String[]args)
{
String phrase=new String();
Scanner sc=new Scanner(System.in);
System.out.println("Saissisez une phrase");
phrase=sc.nextLine();
String[] mots = Pattern.compile("\\W+" ).split(phrase);
Random r = new Random();
String motAleatoire = mots[r.nextInt(mots.length)];
int[]tab=new int[];
for(int i=0;i<tab.length;i++)
{
System.out.println(" " + motAleatoire);
}
}
}


en compilant j'ai erreur suivant
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Variable must provide either dimension expressions or an array initializer

at Mypackage.autre.main(autre.java:16)
0
cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 2
26 sept. 2009 à 10:22
j'ai corrigé cette ligne
int[]tab=new int[5]; 


resultat est suivant:
Saissisez une phrase
je suis en vacances
je
je
je
je
je

mais je veux diffèrent mot chaque fois quand je clique
sur le touche entrée
0
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
28 sept. 2009 à 10:25
Bonjour,
Tu as déclaré un tableau d'entier, mais pas rempli. Il se sert à rien, sinon sa dimension pour la boucle, qui affiche autant de fois le même mot.
Il faut donc programmer l'attente de la touche "entrée" (sans oublier une procédure de sortie) et ressortir un mot aléatoirement.
Fait attention au séparateur de mot dans le regex.


thip
0
Rejoignez-nous