Aide java svp
Fermé
nicolas7474
-
3 déc. 2007 à 15:45
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 3 déc. 2007 à 20:44
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 3 déc. 2007 à 20:44
A voir également:
- Aide java svp
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Waptrick jeux pes 2016 java - Forum logiciel systeme
7 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
3 déc. 2007 à 20:44
3 déc. 2007 à 20:44
Je ne crois pas que tu as saisi tout ce que j'ai dit, ou je me suis peut etre mal exprimé.
Tu peux faire une classe bean nommée par exemple "Couple" dans laquelle tu stoke les valeurs (numéro + boolean) pour un couple. Ensuite, au lieu de remplir un tableau avec un numéro et un boolean, tu créé un objet "Couple" auquel tu "set" les propriétés 'numéro" et "bool", puis tu ajoute cet objet à ton arrayList. Tu fais ca pour tous les couples que tu désires enregistrer.
Ainsi tu te retrouve avec une arrayList d'objet 'Couple', il te reste à les trier, en parcourant ton arrayList, comparant les valeurs, déplacant les objets dans l'arrayList pour au final la trier correctement.
Voici en gros le code pour la construction de ton arrayList, et celui de la classe bean 'Couple' :
Classe Couple :
Extrait code remplissage d'une arrayList de 'Couple' :
Ici, l'arrayList est remplie de couple ayant pour numéro la valeur de i (donc de 0 à 9), et pour boolean 'true'.
A toi d'adapter la facon dont tu veux remplir ta liste :)
Pour ce qui est du tri, un petit exemple :
Voilà, c'est juste du code fait à l'arrache ici, donc faut vérifier s'il n'y a pas d'erreur de syntaxe, si ca fonctionne. En tout cas l'idée est là, à toi de l'adapter selon tes besoins.
Tu peux faire une classe bean nommée par exemple "Couple" dans laquelle tu stoke les valeurs (numéro + boolean) pour un couple. Ensuite, au lieu de remplir un tableau avec un numéro et un boolean, tu créé un objet "Couple" auquel tu "set" les propriétés 'numéro" et "bool", puis tu ajoute cet objet à ton arrayList. Tu fais ca pour tous les couples que tu désires enregistrer.
Ainsi tu te retrouve avec une arrayList d'objet 'Couple', il te reste à les trier, en parcourant ton arrayList, comparant les valeurs, déplacant les objets dans l'arrayList pour au final la trier correctement.
Voici en gros le code pour la construction de ton arrayList, et celui de la classe bean 'Couple' :
Classe Couple :
publi class Couple { private int num = 0; private boolean bool = false; // --- CLASS CONSTRUCTORS public Couple ( ){ super(); } public Couple ( int theNum, boolean theBool ){ this(); setNum(theNum); setBool(theBool); } // --- GETTERS & SETTERS public void setNum ( int theNum ){ this.num = theNum; } public int getNum ( ){ return this.num; } public void setBool ( boolean theBool ){ this.bool = theBool; } public boolean isBool ( ){ return this.bool; } }
Extrait code remplissage d'une arrayList de 'Couple' :
ArrayList myList = new ArrayList(); for ( int i = 0; i < 10; i++ ){ myList.add( new Couple(i, true) ); }
Ici, l'arrayList est remplie de couple ayant pour numéro la valeur de i (donc de 0 à 9), et pour boolean 'true'.
A toi d'adapter la facon dont tu veux remplir ta liste :)
Pour ce qui est du tri, un petit exemple :
public ArrayList sort ( ArrayList theList ){ ArrayList myFinalList = new ArrayList (); Couple myTmpCouple = null; // --- Roll on input arrayList for ( int i = 0; i < theList.size(); i++ ){ // --- Retrieve current couple myCouple = (Couple) theList.get(i); // --- Insert it in final arrayList in function of it 'num' value myFinalList = insertInto (myFinalList); } return myFinalList; } private ArrayList insertInto ( ArrayList theList, Couple theCoupleToInsert ){ boolean found = false; int i = 0; Couple myC = null; while ( ! found && i < theList.size() ){ myC = (Couple) theList.get(i); if ( theCoupleToInsert.getNum <= myC.getNum() ){ // --- Insert theCouple before the one with 'num' value greater theList.add(theCoupleToInsert, i); } } // --- Treat the list with size 0, simply add the couple to insert at the first index if ( theList.size == 0 ) theList.add(theCoupleToInsert); // --- Return the list with the couple inserted in return theList; }
Voilà, c'est juste du code fait à l'arrache ici, donc faut vérifier s'il n'y a pas d'erreur de syntaxe, si ca fonctionne. En tout cas l'idée est là, à toi de l'adapter selon tes besoins.
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
3 déc. 2007 à 16:25
3 déc. 2007 à 16:25
Solidatité Nicolas :)
Pour ce qui est de ta première question, outre le passage par paramètre tu peux peut être géré une variable de classe que tu set / get comme tu le veux depuis l'intérieur de ta classe, ou dans ton cas depuis l'extérieur. Cette solution est généralement adaptée si l'information que tu veux stockée est pertinente, mais tu peux toujours utiliser ce système pour "dépanner".
Pour la deuxième question, je te conseille d'utiliser une TreeMap, qui te permettra de trier automatiquement ta liste par odre croissant (alphabétiquement) sur ta clé.
Quésako ? Une treemap n'est autre qu'une hashmap sauf qu'elle se trie automatiquement lorsque tu y ajoute tes éléments.
Il ne te reste donc plus qu'à insérer tes numéro sous forme de string (un petit String.valueOf(monEntier) fera l'affaire. Inversement, si tu veux récupérer une clef de ta liste, il faudra que tu cast l'objet récupérer en String, puis obtenir sa valeur numérique en faisant :
Integer.valueOf(maClef).intValue();
Avec ca tu devrais pouvoir résoudre ton problème.
Bon courage.
Pour ce qui est de ta première question, outre le passage par paramètre tu peux peut être géré une variable de classe que tu set / get comme tu le veux depuis l'intérieur de ta classe, ou dans ton cas depuis l'extérieur. Cette solution est généralement adaptée si l'information que tu veux stockée est pertinente, mais tu peux toujours utiliser ce système pour "dépanner".
Pour la deuxième question, je te conseille d'utiliser une TreeMap, qui te permettra de trier automatiquement ta liste par odre croissant (alphabétiquement) sur ta clé.
Quésako ? Une treemap n'est autre qu'une hashmap sauf qu'elle se trie automatiquement lorsque tu y ajoute tes éléments.
Il ne te reste donc plus qu'à insérer tes numéro sous forme de string (un petit String.valueOf(monEntier) fera l'affaire. Inversement, si tu veux récupérer une clef de ta liste, il faudra que tu cast l'objet récupérer en String, puis obtenir sa valeur numérique en faisant :
Integer.valueOf(maClef).intValue();
Avec ca tu devrais pouvoir résoudre ton problème.
Bon courage.
je te remercie de ta réponse si rapide et claire. Je voulais juste savoir si en faisant avec une treemap, si je rencontre 2 entiers identiques, il ne va en stocker qu'un seul! or si dans ma liste j'ai (254, 255, 369, 254, 255) je veux que ma treemap ait une taille de 5 et non de 3! Tu pense que sa peut marcher comme tu me le dit?
en te remerciant encore,
cordialement
en te remerciant encore,
cordialement
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
3 déc. 2007 à 17:43
3 déc. 2007 à 17:43
Ha non effectivement, le problème des treemap c'est que la clef est unique. Donc si tu tente d'insérer une valeur avec une clef déjà existante, ca va écraser l'ancienne valeur. Ca ne règle donc effectivement pas ton problème...
Tu es donc obligé de faire un petit algo de tri pour classer correctement ton tableau.
Pour ca, un petit tri à bulle devrait faire l'affaire. Si tu ne connais pas regarde par là, tu as les différentes notions qui t'aideront à faire ce que tu veux : http://www.dailly.info/algorithmes-de-tri/index.php
Tu es donc obligé de faire un petit algo de tri pour classer correctement ton tableau.
Pour ca, un petit tri à bulle devrait faire l'affaire. Si tu ne connais pas regarde par là, tu as les différentes notions qui t'aideront à faire ce que tu veux : http://www.dailly.info/algorithmes-de-tri/index.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je te remercie encore de m'aider, c'est cool! donc il va falloir faire un tri mais dans quelle chose puis-je stocker mes couples?? parce que je veux qu'à un entier soit associer un booléen et que le trie des nombre implique un tri des booléen!
je ne sait pas avec quoi je peux stocker et donc sur quoi je dois effectuer le tri!
merci encore, he oui je rame un peu!!
je ne sait pas avec quoi je peux stocker et donc sur quoi je dois effectuer le tri!
merci encore, he oui je rame un peu!!
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
3 déc. 2007 à 18:18
3 déc. 2007 à 18:18
Ben, tu pourrais très bien faire une classe qui te serve justement de conteneur, une sorte de Bean.
Ta classe aurait donc pour propriété :
- un nombre
- un boolean
Et pour méthode tout ce qui faut pour setter / getter ces valeurs
Ensuite, tu peux stocker tous tes éléments dans une ArrayList, un tableau d'objet ou encore une List. Personnellement je prendrais une ArrayList car c'est plus "facile" à utiliser (pour moi).
Une fois le stockage fais, reste plus qu'une petite fonction qui tri, prenant en paramètre ton tableau / arrayList / autre, et retournant ce même élément mais trié.
Pour l'algo de tri je te laisse voir, tu peux toujours poser des questions et nous le mettre lorsque tu aura avancé dessus plus tard.
Ta classe aurait donc pour propriété :
- un nombre
- un boolean
Et pour méthode tout ce qui faut pour setter / getter ces valeurs
Ensuite, tu peux stocker tous tes éléments dans une ArrayList, un tableau d'objet ou encore une List. Personnellement je prendrais une ArrayList car c'est plus "facile" à utiliser (pour moi).
Une fois le stockage fais, reste plus qu'une petite fonction qui tri, prenant en paramètre ton tableau / arrayList / autre, et retournant ce même élément mais trié.
Pour l'algo de tri je te laisse voir, tu peux toujours poser des questions et nous le mettre lorsque tu aura avancé dessus plus tard.
donc je dois faire une classe avec ses deux attributs et les méthodes qui vont bien, ça ça va! ensuite, le stockage dans une arraylist (je stocke le'entier et le booléen ou juste l'entier?), je le fais quand? (au fur et à mesure?) et où?(dans la classe conteneur ou dans la classe ou je récupère mes nombre et booléen?)
Idem, le tri, je le fais dans quel classe? au fur et à mesure?
je dois y aller, je vais essayer certaines choses ce soir et je verrai si j'y arrive mais je suis pas très otpimiste!!
enfin je te tiens au courant!
encore emrci et désolé d'être boulet!lol
bonne soirée
Idem, le tri, je le fais dans quel classe? au fur et à mesure?
je dois y aller, je vais essayer certaines choses ce soir et je verrai si j'y arrive mais je suis pas très otpimiste!!
enfin je te tiens au courant!
encore emrci et désolé d'être boulet!lol
bonne soirée