Besoin d'aide pour un exercice de java!!!

soso -  
chico200987 Messages postés 856 Statut Membre -
Bonjour,

Je vous présente mon problème.
Je dispose d'une collection de Livres que j'ai déclaré comme étant un TreeSet.
la classe Livre dispose de 4 attributs simples : String genre, String auteur, float prix, String titre.
L'utilisateur recherche dans notre collection un livre par son titre.
Si ce livre existe on retourne ses attributs.
Mais s'il n'existe pas on doit retourner un livre dont le titre comporte au moins 2 mots identiques .

Je ne sais pas comment voir si 2 chaines ont des mots en commun?

merci de votre aide.
A voir également:

3 réponses

soso
 
je viens de trouver ds la java doc la fonction index off qui renvoie la position la position du mot recherché dans le mot s'il existe et -1 sinon.

Sa sera moins compliqué! ^^
1
chico200987 Messages postés 856 Statut Membre 144
 
Aussi oui par exemple ! Prends la maniere que tu juges le plus comprehensible pour toi :)
0
chico200987 Messages postés 856 Statut Membre 144
 
Salut,

Par deux boucles imbriquées par exemple..

Tu "nettoies" tes chaines en enlevant toutes les ponctuations, tu split le titre de ta première chaine du titre recherché avec comme caractère de séparation l'espace, pour chaque mot du tableau récolté tu le recherches dans le titre de toutes les collections que tu auras split dans un tableau, il existe des fonctions de recherche sur les tableaux tu peux te pencher la dessus..

Ensuite tu utilises un compteur que tu incrémentes a chaque fois qu'un mot s'y trouve, et tu mets le compteur arrivé à 2 comme condition de sortie des deux boucles..

C'est theorique ce que j'ai dit, mais c'est pour que tu essaies par toi meme et eviter que quelqu'un ne le fasse entierement pour toi.. C'est dans ton interet.
0
soso
 
Bonsoir,

Merci beaucoup de ton aide.
Je suis en train de faire le code!
c'est pour un projet à la fac.

bonne soirée
0
soso
 
quand j'écris tab[i] = chaine.nextToken();
je ne connais pas le nombre de mots séparés, donc la taille de mon tableau.

Comment déclarer un tableau dont je ne connais pas la taille?

Merci d'avance,
Soraya
0
chico200987 Messages postés 856 Statut Membre 144
 
En fait sorry en JAVA tu peux utiliser directement le mot sans passer par les tableaux.

Donc tu peux faire quelque chose comme :

String titreRecherche = "Salut mec comment tu vas";  
String mot = "";
StringTokenizer st = new StringTokenizer(titreRecherche);  
while (st.hasMoreTokens()) {  
  mot = st.nextToken();  
  // voici la premiere boucle, mot est un mot du titre que l'utilisateur cherche  
}  
0