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

  FORUM HardWare.fr
  Programmation
  Java

  Incrémentation d'un enum en Java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Incrémentation d'un enum en Java

n°930191
Guitariff
Posté le 22-12-2004 à 17:46:50  profilanswer
 

Salut à tous !
 
J'ai une énumération du type :  
enum LesMois {
    janvier, février, mars, avril, mai, juin, juillet, août, septembre,  
    octobre, novembre, décembre
}
 
 
Comment faire pour ajouter 1 au mois courant. Par exeple si ce dernier est janvier, que ma variable mois prenne la valeur février.
 
 
Merci d'avance
 
P.S : Le passage de décembre à janvier est quant à lui réglé.

mood
Publicité
Posté le 22-12-2004 à 17:46:50  profilanswer
 

n°930216
sircam
I Like Trains
Posté le 22-12-2004 à 18:27:03  profilanswer
 

+1 ?
 

Guitariff a écrit :


enum LesMois {
    janvier, février, mars, avril, mai, juin, juillet, août, septembre,  
    octobre, novembre, décembre
}


Aaaarghl


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°930219
Bidem
Posté le 22-12-2004 à 18:30:36  profilanswer
 

enum n'est pas un type de java...
 
Montre nous un bout de code qu'on comprenne.

n°930240
the real m​oins moins
Posté le 22-12-2004 à 18:56:46  profilanswer
 

bidem a écrit :

enum n'est pas un type de java...
 
Montre nous un bout de code qu'on comprenne.


faut sortir un peu mon bon monsieur, ça fait plus d'un an qu'il compile, son code.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°930242
the real m​oins moins
Posté le 22-12-2004 à 18:58:33  profilanswer
 

sircam a écrit :

+1 ?
 
 
Aaaarghl


bah c'est valide. faut juste pas esperer que ça passe chez un japonais [:joce]
 
guitariff > dans un enum, tu peux avoir une "vraie" classes, avec constructeur, variables membres, methodes et tout le toutim; je te laisse réflechir 2 secondes et tu verras que ton pb est tout con.
autre solution, te faire une liste qui contient chaque element de ton enum


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°930245
sircam
I Like Trains
Posté le 22-12-2004 à 18:59:56  profilanswer
 

the real moins moins a écrit :

bah c'est valide. faut juste pas esperer que ça passe chez un japonais [:joce]


J'ai horreur de ça.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°930255
Taz
bisounours-codeur
Posté le 22-12-2004 à 19:06:41  profilanswer
 

sircam a écrit :

J'ai horreur de ça.


attend, c'est gavé cool quand tu écris des lettres grecques plutot que pi, epsilon, etc

n°930262
the real m​oins moins
Posté le 22-12-2004 à 19:10:44  profilanswer
 

sircam a écrit :

J'ai horreur de ça.


bah moi ce qui m'horripile c'est le nom de variable ou de classe en français; mais si tu le fais en français, autant le faire à fond :p


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°930267
FlorentG
Posté le 22-12-2004 à 19:13:17  profilanswer
 

Taz a écrit :

attend, c'est gavé cool quand tu écris des lettres grecques plutot que pi, epsilon, etc


 
Oui, et avec l'Unicode, aucuns problèmes, même chez les jap' ;)

n°930275
the real m​oins moins
Posté le 22-12-2004 à 19:17:17  profilanswer
 

encore faut-il que ton editeur le supporte *bien*, que ton gestionnaire de source aussi, etc etc. je me suis fait avoir une fois, plus jamais [:itm]
(pourtant c'était rigolo, j'écrivais des conneries dans des testcases :o )


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 22-12-2004 à 19:17:17  profilanswer
 

n°930367
sircam
I Like Trains
Posté le 22-12-2004 à 20:40:12  profilanswer
 

Ecrire un programme dans une langue autre que l'Anglais est un bel obstacle à la réutilisabilité et la maintenance du code.
 
Je me demande pq ça ne figure pas dans les principes de base de la programmation et de l'O.O., à l'heure de l'internationalisation et de l'européanisation galopantes.
 
Bon, on va pas revenir sur tous les jeux de mots marrants et/ou stupides qu'on peut faire en déclarant String et en jouant sur les deux langues. [:mlc]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°930548
benou
Posté le 22-12-2004 à 22:44:09  profilanswer
 

the real moins moins a écrit :

guitariff > dans un enum, tu peux avoir une "vraie" classes, avec constructeur, variables membres, methodes et tout le toutim; je te laisse réflechir 2 secondes et tu verras que ton pb est tout con.
autre solution, te faire une liste qui contient chaque element de ton enum


je le trouve pas tout con son problême, moi ...
 
j'ai pas encore regardé les enums, mais c'est dommage si faut tout recoder soit même dès que tu veux une énumération ordonnée :/


---------------
ma vie, mon oeuvre - HomePlayer
n°930568
glod 2
Votre trajet, notre projet.
Posté le 22-12-2004 à 23:05:10  profilanswer
 

Franchement, pour 99% des gens de ce forum, c'est complètement con de donner le conseil de coder en anglais si ils le font pas spontanément. Leur code, c'est quand même à eux qu'il sert, c'est eux qui vont le maintenir, le relire, et c'est quasi toujours des fr qui le reliront...
Alors pour un projet qu'on veut publier ou poster sur le net ok, mais alors faut arretter de conseiller à des gars de coder les noms de variables/méthodes de leur helloworld en anglais quoi oO

n°930571
benou
Posté le 22-12-2004 à 23:06:45  profilanswer
 

Glod2> ok, mais on peut aussi se dire que c'est une bonne habitude à prendre. si tu code tjs en français, ce ne sera pas naturel de le faire en anglais le jour où tu bosseras ...


---------------
ma vie, mon oeuvre - HomePlayer
n°930578
glod 2
Votre trajet, notre projet.
Posté le 22-12-2004 à 23:15:59  profilanswer
 

Oui, je suis tout à fait d'accord, d'ailleurs je code en anglais :)

n°930581
the real m​oins moins
Posté le 22-12-2004 à 23:22:26  profilanswer
 

benou a écrit :

je le trouve pas tout con son problême, moi ...
 
j'ai pas encore regardé les enums, mais c'est dommage si faut tout recoder soit même dès que tu veux une énumération ordonnée :/


 
[:kiki]

Code :
  1. public enum Truc {
  2. bidule(1), machin(25), pouet(34);
  3. private int xyz;
  4. private Truc(int i) {
  5.    this.xyz = i;
  6. }
  7. public int getXYZ() {
  8.    return xyz;
  9. }
  10. }


 
trop dur...
 
 
(le kiki c'est pour le mec qui dit qu'il trouve un probleme complexe alors qu'il s'est jamais penché sur le sujet en question, pas pour la solution en elle meme)


Message édité par the real moins moins le 22-12-2004 à 23:23:47

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°930582
the real m​oins moins
Posté le 22-12-2004 à 23:24:40  profilanswer
 

Glod 2 a écrit :

Franchement, pour 99% des gens de ce forum, c'est complètement con de donner le conseil de coder en anglais si ils le font pas spontanément. Leur code, c'est quand même à eux qu'il sert, c'est eux qui vont le maintenir, le relire, et c'est quasi toujours des fr qui le reliront...
Alors pour un projet qu'on veut publier ou poster sur le net ok, mais alors faut arretter de conseiller à des gars de coder les noms de variables/méthodes de leur helloworld en anglais quoi oO


et alors donc, il est posté ici ce code, et on le relit. ça suffit amplement :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°930583
benou
Posté le 22-12-2004 à 23:25:18  profilanswer
 

ca répond pas à son problème ca ...
relis son post ...


---------------
ma vie, mon oeuvre - HomePlayer
n°930593
the real m​oins moins
Posté le 22-12-2004 à 23:33:52  profilanswer
 

Truc.values() ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°930594
the real m​oins moins
Posté le 22-12-2004 à 23:34:10  profilanswer
 

et un index?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°930602
benou
Posté le 22-12-2004 à 23:51:47  profilanswer
 

ouais, je vois pas d'autre solution ... c'est un peu dommage que la notion d'ordre soit présente dans les enums mais qu'on ne puisse pas vraiment l'exploiter pleinement sans recoder le truc


---------------
ma vie, mon oeuvre - HomePlayer
n°930604
the real m​oins moins
Posté le 22-12-2004 à 23:53:47  profilanswer
 

euh

Code :
  1. foreach (truc : MonEnum.values()) {
  2.   print(truc);
  3. }

, qu'est-ce que tu as a recoder là ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°930605
the real m​oins moins
Posté le 22-12-2004 à 23:56:50  profilanswer
 

merde elle est ou la javadoc (si y'en a??) pour les enums? la methode statique values() là, jsuis sur qu'elle est "par defaut" sur une public enum Truc { ... !?
et je n'en vois pas trace ici http://java.sun.com/j2se/1.5.0/doc [...] /Enum.html
 
 sinon y'a ça aussi http://java.sun.com/j2se/1.5.0/doc [...] #ordinal()
 ainsi que  
http://java.sun.com/j2se/1.5.0/doc [...] mpareTo(E)


Message édité par the real moins moins le 22-12-2004 à 23:57:02

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°930607
the real m​oins moins
Posté le 23-12-2004 à 00:00:34  profilanswer
 
n°931118
glod 2
Votre trajet, notre projet.
Posté le 23-12-2004 à 18:37:32  profilanswer
 

the real moins moins a écrit :

et alors donc, il est posté ici ce code, et on le relit. ça suffit amplement :o


oui remarque vu comme ça :o

n°931199
benou
Posté le 23-12-2004 à 20:09:40  profilanswer
 

j'aime bcp les EnumSet et EnumMap :)


---------------
ma vie, mon oeuvre - HomePlayer
n°931200
the real m​oins moins
Posté le 23-12-2004 à 20:12:09  profilanswer
 

sympa hein? :)
enfin, je suis pas allé voir l'implementation, et j'ai pas vraiment envie, parce que j'ai peur que ça soit un peu tordu, mais si ça respecte ses promesses au niveau perfs, c'est chouette :) ... si t'es allé voir l'impl, tu peux me dire en 2 mots si c'est *léger* comme objet?
 
(parce que, un TreeSet ou HashSet, des fois, c'est un peu lourdeau quand tu vois tout ce qu'il y a derrière - au niveau "memory usage", j'entend)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°931202
the real m​oins moins
Posté le 23-12-2004 à 20:17:47  profilanswer
 

euh, dans EnumSet, les methods of( ... ) pourquoi ils ont pas utilisé les varargs :??:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°931203
the real m​oins moins
Posté le 23-12-2004 à 20:18:34  profilanswer
 

ha ok:

Citation :

This factory, whose parameter list uses the varargs feature, may
     * be used to create an enum set initially containing an arbitrary
     * number of elements, but it is likely to run slower than the overloadings
     * that do not use varargs.


 
m'enfin "is likely to run slower", ça fait un peu plouc [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°931204
benou
Posté le 23-12-2004 à 20:21:06  profilanswer
 

j'ai juste lu la javadoc:  
 
Enum sets are represented internally as bit vectors
 
Enum maps are represented internally as arrays
 
 
bref, c'est de l'accès à 1 opération :love:


---------------
ma vie, mon oeuvre - HomePlayer
n°931207
the real m​oins moins
Posté le 23-12-2004 à 20:23:38  profilanswer
 

oui oui, .. et je viens de mater le code, pour l'impl RegularEnumSet (moins de 64 elements dans ton enum), le seul membre de classes que j'ai vu c'est effectivement un long :)
 
... je sens que je vais revenir sur ma premiere idée pour mon bidule de gestion de droits, qui consistait à gerer les permissions sous forme d'enum, moi [:huit]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°931209
benou
Posté le 23-12-2004 à 20:27:48  profilanswer
 

le coup de la EnumMap c'est bien aussi : ca permet de gérer des association de type enum->object de façon hyper optimisée, mais surtout propre !


---------------
ma vie, mon oeuvre - HomePlayer
n°931212
benou
Posté le 23-12-2004 à 20:29:41  profilanswer
 

the real moins moins a écrit :

ha ok:

Citation :

This factory, whose parameter list uses the varargs feature, may
     * be used to create an enum set initially containing an arbitrary
     * number of elements, but it is likely to run slower than the overloadings
     * that do not use varargs.


 
m'enfin "is likely to run slower", ça fait un peu plouc [:mlc]


ils ont visé les perfs pour ces classes là ... l'utilisation de var args c'est la construction d'un tableau inutile et son parcours ...
 
ca leur coutait pas bien cher de faire quelques méthodes avec quelques arguments pour gérer les cas les plus courant de façon optimale ...


Message édité par benou le 23-12-2004 à 20:30:10

---------------
ma vie, mon oeuvre - HomePlayer
n°931217
the real m​oins moins
Posté le 23-12-2004 à 20:38:56  profilanswer
 

ouaip; m'enfin je suis "amusé" de voir autant de javadoc pour 6 constructeurs comme ça :/
 
et le "is likely to", comme j'ai dit, ça fait pas tres sérieux; qu'ils disent clairement que ça impacte *effectivement* les perfs, pas qu "il se pourrait qu'eventuellement ça impacte les perfs" :o


Message édité par the real moins moins le 23-12-2004 à 20:39:44

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le   profilanswer
 


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

  Incrémentation d'un enum en Java

 

Sujets relatifs
Decompilateur Javareprésentation d'un graphe orienté en java
pb prog java pour transmettre des variablesImage en java
[java]util.zip - ne pas stocker le path ?[C] Utilisation d'un interface graphique java
lancement du compilateur java XML et XSLT en api JAVA
Java et snmp[java] génération automatique des "import" ?
Plus de sujets relatifs à : Incrémentation d'un enum en Java


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