Besoin d'aide pour un exercice de java!!!
soso
-
chico200987 Messages postés 856 Statut Membre -
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.
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:
- Besoin d'aide pour un exercice de java!!!
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
3 réponses
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é! ^^
Sa sera moins compliqué! ^^
chico200987
Messages postés
856
Statut
Membre
144
Aussi oui par exemple ! Prends la maniere que tu juges le plus comprehensible pour toi :)
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.
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.
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
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
En fait sorry en JAVA tu peux utiliser directement le mot sans passer par les tableaux.
Donc tu peux faire quelque chose comme :
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
}