Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1373 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] aide pour structurer une fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] aide pour structurer une fonction

n°534062
belzme
Hertz ou ne pas hertz...
Posté le 08-10-2003 à 05:07:52  profilanswer
 

Bonjour à tous, voici ma question :
 
J'ai un bout de code (voir plus bas) qui parcours un tableau d'objet (Album) et qui le tri par nom d'artiste.(je sais que y'a bcp d'autres façons qui sont mieux que celle-ci, mais pour le besoin du cours, je dois le faire de cette façon)
 
Mon problème, c'est que je dois également trouver l'album qui a la durée la plus petite et presque le même code.
 
Comment pourrais-je procéder pour ne pas dupliquer mon code tout en séparant les 2 fonctions ?  
 

Code :
  1. public void trier() {
  2.    for (int i = 0 ; i < nbAlbum-1 ; i++) {
  3.    int indMin = i ;
  4.    for (int j = i+1; j < nbAlbum ; j++)
  5.     if (disques[j].getArtiste().compareToIgnoreCase(disques[indMin].getArtiste()) < 0)
  6.      indMin = j ;
  7.   
  8.      if (indMin != i) {
  9.                        
  10.       Album tempo = new Album();
  11.       tempo = disques[i];                       
  12.       disques[i] = disques[indMin];
  13.       disques[indMin] = tempo;
  14.                                    
  15.      }
  16.   }
  17.  }


 
 
Si vous avez des questions, n'hésitez pas !

mood
Publicité
Posté le 08-10-2003 à 05:07:52  profilanswer
 

n°534078
benou
Posté le 08-10-2003 à 08:39:04  profilanswer
 

Code :
  1. import java.util.*;
  2. ...
  3. public void trierParArtiste() {
  4.    Arrays.sort(disques, DisqueByArtisteOrder .INSTANCE);
  5. }
  6. public void trierParDuree() {
  7.    Arrays.sort(disques, DisqueByDureeOrder.INSTANCE);
  8. }
  9. public static class DisqueByArtisteOrder implements Comparator {
  10.    public static final DisqueByArtisteOrder INSTANCE = new DisqueByArtisteOrder();
  11.    public int compare(Object o1, Object o2) {
  12.       return String.CASE_INSENSITIVE_ORDER(((Disque) o1).getArtiste(), ((Disque) o2).getArtiste());
  13.    }
  14. }
  15. public static class DisqueByDureeOrder implements Comparator {
  16.    public static final DisqueByDureeOrder INSTANCE = new DisqueByDureeOrder();
  17.    public int compare(Object o1, Object o2) {
  18.       return (int) (((Disque) o1).getDuree() - ((Disque) o2).getDuree());
  19.    }
  20. }


Message édité par benou le 08-10-2003 à 08:42:19

---------------
ma vie, mon oeuvre - HomePlayer
n°534080
darklord
You're welcome
Posté le 08-10-2003 à 08:41:55  profilanswer
 

un point pour benou svp :o


---------------
Just because you feel good does not make you right
n°534083
benou
Posté le 08-10-2003 à 08:43:24  profilanswer
 

DarkLord a écrit :

un point pour benou svp :o


:)
 
tiens, toi qui est là, tu vois une raison pour laquelle dans Arrays, y a pas la méthode min et max qu'il y a dans Collections ? snul  :sweat:


---------------
ma vie, mon oeuvre - HomePlayer
n°534342
the real m​oins moins
Posté le 08-10-2003 à 14:00:46  profilanswer
 

benou, pq tu passes une instance statique et pas une instance fraiche?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°534348
benou
Posté le 08-10-2003 à 14:09:57  profilanswer
 

ben parce que ca sert à rien de créer un objet à chaque trie alors qu'on peut tous les faire avec le même ...
si j'avais eu le courage j'aurais ajouté un constructeur private à mes Comparator ...


---------------
ma vie, mon oeuvre - HomePlayer
n°534352
the real m​oins moins
Posté le 08-10-2003 à 14:12:07  profilanswer
 

tu te harkoises? :fouyaya:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°534359
benou
Posté le 08-10-2003 à 14:14:40  profilanswer
 


[:totoz]
 
c'est juste que j'aime pas faire des new pour rien [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
n°534365
the real m​oins moins
Posté le 08-10-2003 à 14:21:05  profilanswer
 

ouais, je trouve pas ça super clean comme ça moi mais bon :o
(surtout pour un exemple ou le gars va sans doute recopier ton truc sans savoir qu'il y a 500 autres possibilités pour ne pas faire un new par exemple...)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°534366
benou
Posté le 08-10-2003 à 14:22:23  profilanswer
 

ben c'est dans le même esprit que le CASE_INSENSITIVE_ORDER de String [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 08-10-2003 à 14:22:23  profilanswer
 

n°534369
the real m​oins moins
Posté le 08-10-2003 à 14:23:25  profilanswer
 

jconnais pas mais j'aime déjà pas [:nofret]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°534371
benou
Posté le 08-10-2003 à 14:28:01  profilanswer
 

the real moins moins a écrit :

jconnais pas mais j'aime déjà pas [:nofret]


 :pfff:  
je vois vraiment pas le problème ...
c'est juste un singleton


---------------
ma vie, mon oeuvre - HomePlayer
n°534377
the real m​oins moins
Posté le 08-10-2003 à 14:30:33  profilanswer
 

oui, justement :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°534437
benou
Posté le 08-10-2003 à 15:20:26  profilanswer
 


qu'est ce que tu as contre les signletons ?


---------------
ma vie, mon oeuvre - HomePlayer
n°534440
the real m​oins moins
Posté le 08-10-2003 à 15:22:07  profilanswer
 

c'est moche :o
 
 
(:whistle:)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°534441
darklord
You're welcome
Posté le 08-10-2003 à 15:22:17  profilanswer
 

:o


---------------
Just because you feel good does not make you right
n°534559
Krueger
tout salaire demande dutravail
Posté le 08-10-2003 à 17:00:29  profilanswer
 

Ah, on a dû l'élever au static mode. :D


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°534752
R3g
fonctionnaire certifié ITIL
Posté le 08-10-2003 à 20:43:59  profilanswer
 

C'est vrai que c'est une question que je me pose souvent : où faire un singleton, et où faire une classe dont je sais très bien que je n'utiliserai qu'une instance à la fois. Par exemple pour tout ce qui est GUI, je me dis souvent que je pourrais auss bien faire que des singletons et ca serait pareil ; juste un peu plus chiant à développer.

n°534974
belzme
Hertz ou ne pas hertz...
Posté le 09-10-2003 à 03:27:07  profilanswer
 

Merci beaucoup je m'attendais pas à avoir du code tout fait !
 
Je vais le garder pour mieux comprendre, mais comme c'est le 1ier tp d'un cours intermédiaire, je crois pas que le prof va penser que ça viens de moi :)  
 
Mais merci quand même, ton code ma donné une bonne idée :)

n°535128
R3g
fonctionnaire certifié ITIL
Posté le 09-10-2003 à 12:07:29  profilanswer
 

[:heink] Le pseudou premier post et le pseudo affiché sur la première page ne sont pas écrits pareil... jocebug ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] aide pour structurer une fonction

 

Sujets relatifs
[APPLET] Intégrer un éditeur HTML opensource Java[JAVA] Intercepter le retour d'un prog lancé en ligne de commande
une petite aide MAPLE[LDAP] Création d'usager Java ou Perl?
[JAVA] Intégrer du C++ dans un programme Java... ?[Java] Question simple transformer un Double
[interrogation écrite] fonction membre template virtuelle[Java] Gui : mise à jour d'une table
[resolu] fonction choicepetit pb de debutant en java
Plus de sujets relatifs à : [java] aide pour structurer une fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR