IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Problème affichage tableau d'objets


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2013
    Messages : 7
    Par défaut Problème affichage tableau d'objets
    Bonjour à tous,

    Je dois programmer un petit logiciel en mode console devant gérer des bagues dans une base de données pour un bijoutier.

    J'ai programmé dans un premier temps mon constructeur ainsi qu'une méthode public String toString(). Ensuite dans mon main je créé une bague et par l'intermédiaire d'un menu, je demande à l'utilisateur toutes les données à mettre dans mon constructeur. Ensuite je mets dans mon tableau à la position i (i = 0 à l'initiation) ma bague. La position i est un compteur qui augmente à chaque nouvelle création de bague :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bague[] b = new Bague[tailleTableau];
    Je crée donc mon tableau ainsi. Ensuite je crée ma bague et la mets dans un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Bague bague = new Bague( descriptionU, categorieU, tailleU, pierreU, metalU, finiU, prixU, reservee, modifierTailleU, modifierPierreU);
    b[numeroBagueU] = bague;
    Pour faire quelques vérifications, j'affiche ce quil y a dans mon tableau à la position où j'ai créé ma bague.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(b[numeroBagueU]);
    Quand ici j'affiche le contenu de mon tableau, il se passe quelque chose de bizarre, il utilise ma méthode toString()...

    toString() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public String toString(){
           String reponse;
           DecimalFormat dec2 = new DecimalFormat("0.00");
     
           reponse = "Description : " + getDescription() + ". La categorie de la bague est " + CATEGORIES[getCategorie()] + ". La pierre est de type " + PIERRES[getPierre()] + ". La taille est de " + getTaille() + ". Le metal utilise est "
                    + TYPE_METAL[getMetal()] + " et le prix est de " + getPrix() + " $";
     
            return reponse;
        }
    Il me retourne juste avec un sop une phrase issu de cette méthode.

    Cependant tout ce qui est retourné est bon donc, même si je ne comprend pas je suis content...

    D'autre part, dans un autre choix du menu, je dois me charger d'afficher la totalité du tableau et dans l'affichage, mon dernier objet rentré prend la place de toutes les autre bagues créées dans le tableau. En gros pour 4 bagues créées en position 0,1,2,3, la position 0,1,2 seront toutes pareilles que la position 3...

    Ca c'est ce qui me permet d'afficher tout le tableau ainsi que la position dans le tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (int i = 0; i < tailleTableau; i++  ) {
     
        System.out.println(i);
        System.out.println(b[i]);
    }
    Evidemment quand la position n'a jamais été créée, il me retourne null.

    Quelqu'un saurait-il m'indiquer comment corriger ces problèmes ?

    Merci d'avance pour votre aide.

    Voici le main complet, à tout hasard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    public static void main (String[] params) {
            int tailleTableau = 0;
            char choixMenu = 'a'; // initialisation du choix menu
            char choixMenu2;
     
            int reponse = 0;
     
            // variable que l'utilisateur entre
            int afficherCategorie;
            String descriptionU = ""; // U pour rentre par l'utilisateur
            int categorieU;
            int pierreU;
            int tailleU;
            int metalU;
            int finiU;
            double prixU;
            char reponse1 ;
            char reponse2;
            boolean modifierPierreU;
            boolean modifierTailleU;
     
            boolean reservee = false;
            // FIN VARIABLE
     
            System.out.println("Description et presentation du logiciel");
            System.out.println("");
            System.out.println("Veuillez indiquer le nombre de bague maximal qui seront present dans la liste");
            tailleTableau = Clavier.lireIntLn();
            while(tailleTableau < 0) {
                System.out.println("Veuillez entrer une valeur superieur ou egale a 1");
                tailleTableau = Clavier.lireIntLn();
            }
     
            Bague[] b = new Bague[tailleTableau];
     
            while (choixMenu != 'q' && choixMenu != 'Q') {
     
                System.out.println("MENU");
                System.out.println("");
                System.out.println("N - Nouvelle bague");
                System.out.println("I - Modifier bague");
                System.out.println("S - Supprimer bague");
                System.out.println("Q - Quitter");
                System.out.println("Veuillez selectionner une des x options suivantes : n, i, x, q");
                choixMenu = Clavier.lireCharLn();
     
                while (choixMenu != 'n' && choixMenu != 'N' && choixMenu != 'i' && choixMenu != 'I' && choixMenu != 'l' && choixMenu != 'L' && choixMenu != 'q' && choixMenu != 'Q' ) {
                    System.out.println("Veuillez rentrer une valeur valide : n, N , i, I, s, S");
                    choixMenu = Clavier.lireCharLn();
                }
     
                if (choixMenu == 'n' || choixMenu == 'N'){
     
                    System.out.println("Vous allez creer une nouvelle bague. Veuillez suivre les indications");
                    System.out.println("**********");
                    System.out.println("**********");
     
                    System.out.println("Veuillez entrer un description de la bague");
                    descriptionU = Clavier.lireString();
                    while ( descriptionU == "" ) {
                        System.out.println("Vous etes obliger de rentrer une decription");
                        descriptionU = Clavier.lireString();
                    }
     
                    System.out.println("Veuillez entrer le numero de categorie de votre bague");
                    System.out.println("Les choix des categories figurent parmis les suivantes :");
                    System.out.println("");
                    System.out.println("0 : Femme    1 : Homme   2  : Unisexe");                  
                    categorieU = Clavier.lireIntLn();
                    while ( categorieU < 0 && categorieU > 2 ) {
                        System.out.println("Vous devez rentrer une valeur entre 0 et 2 compris");
                        categorieU = Clavier.lireInt();
                    }
     
                    System.out.println("Veuillez entrer la taille de votre bague, celle-ci doit etre comprise entre 5 et 12");
                    tailleU = Clavier.lireIntLn();
                    while ( tailleU <  5 || tailleU > 12 ) {
                        System.out.println("Vous devez rentrer une valeur comprise entre 5 et 12");
                        tailleU = Clavier.lireIntLn();
                    }
     
                    System.out.println("Veuillez entrer le type de pierre de votre bague");
                    System.out.println("Les choix de pierre sont les suivants :");
                    System.out.println("");
                    System.out.println("0 : Aucune       4 : Amethyste   8  : Rubis");
                    System.out.println("1 : Inconnue     5 : emeraude    9  : Onyx");
                    System.out.println("2 : Saphir       6 : Diamant     10 : Pierre de Lune");
                    System.out.println("3 : Peridot      7 : Grenat");
                    pierreU = Clavier.lireIntLn();
                    while ( pierreU < -1 || pierreU > 11 ) {
                        System.out.println("Vous devez rentrer une valeur entre 0 et 5 ");
                        pierreU = Clavier.lireIntLn();
                    }
     
                    System.out.println("Veuillez entrer le type de metal de votre bague");
                    System.out.println("Les choix de metaux figurent parmi les suivants :");
                    System.out.println("");
                    System.out.println("0 : Argent            3 : Or Jaune");
                    System.out.println("1 : Platine           4 : Or Blanc");
                    System.out.println("2 : Acier Inoxydable  5 : Or Rose");
                    metalU = Clavier.lireIntLn();
                    while ( metalU < -1 || metalU > 6 ) {
                        System.out.println("Vous devez rentrer une valeur entre 0 et 5 ");
                        metalU = Clavier.lireIntLn();
                    }
     
                    if ( metalU != 1 && metalU != 2) {
                        System.out.println("Veuillez entrer le type de fini de votre bague");
                        System.out.println("Les choix du fini d'une bague sont :");
                        System.out.println("");
                        System.out.println("0 : Aucun   2 : Oxyde");
                        System.out.println("1 : Antique");
                        finiU = Clavier.lireIntLn();
                        while ( finiU < -1 || finiU > 3 ) {
                            System.out.println("Vous devez rentrer une valeur entre 0 et 5 ");
                            finiU = Clavier.lireIntLn();
                        }
                    }else {
                        finiU = 0;
                    }
     
                    System.out.println("Veuillez entrer le prix de votre bague, celui-ci doit etre superieur ou egal a 5");
                    prixU = Clavier.lireIntLn();
                    while ( prixU < 5 ) {
                        System.out.println("Vous devez rentrer une valeur superieur ou egale a 5 ");
                        prixU = Clavier.lireIntLn();
                    }
     
                    System.out.println("Faut-il modifier la taille ? entrer v pour oui ou f pour non");
                    reponse1 = Clavier.lireCharLn();
                    while (reponse1 != 'v' && reponse1 != 'V' && reponse1 != 'f' && reponse1 != 'F' ) {
                        System.out.println("Veuillez entrer v, V pour oui ou f, F pour non");
                        reponse1 = Clavier.lireCharLn();
                    }
                    modifierTailleU = retournerBooleen(reponse1);
     
     
     
                    System.out.println("Faut-il modifier la pierre ? entrer v pour oui ou f pour non");
                    reponse2 = Clavier.lireCharLn();
                    while (reponse2 != 'v' && reponse2 != 'V' && reponse2 != 'f' && reponse2 != 'F' ){
                        System.out.println("Veuillez entrer v, V pour oui ou f, F pour non");
                        reponse2 = Clavier.lireCharLn();
                    }
                    modifierPierreU = retournerBooleen(reponse2);
     
                    Bague bague123 = new Bague( descriptionU, categorieU, tailleU, pierreU, metalU, finiU, prixU, reservee, modifierTailleU, modifierPierreU);
                    b[numeroBagueU] = bague123;
     
                    //b[numeroBagueU].toString();
                    System.out.println(numeroBagueU);
                    System.out.println(numeroBagueU);
                    numeroBagueU = numeroBagueU + 1; 
     
                } else if (choixMenu == 'i' || choixMenu == 'I') {
     
                    System.out.println("Veuillez indiquer le numero d'identification de la bague que vous voulez afficher a l'ecran");
                    reponse = Clavier.lireIntLn();
                    while (reponse < 0) { 
                        System.out.println("Veuillez entrer une valeur superieure a 0");
                        reponse = Clavier.lireIntLn();
                    }
                    if (b[reponse] == null ) {
                        System.out.println("Desole, le numero specifie n'est pas valide");
                    } else {
                        System.out.println(b[reponse]);
                    }
     
                } else if (choixMenu == 'l' || choixMenu == 'L') {
     
                    for (int i = 0; i < tailleTableau; i++  ) {
                        //if (b[i] != null) {
                            System.out.println(i);
                            System.out.println(b[i]);
                        //}
                    }
     
                    System.out.println("Veuillez faire un choix dans le menu suivant :");
                    System.out.println("C - Affiche les bagues dont la categorie est la meme que celle que vous validerez");
                    System.out.println("M");
                    System.out.println("R");
                    System.out.println("P");
                    choixMenu2 = Clavier.lireCharLn();
     
                    while (choixMenu2 != 'c' && choixMenu2 != 'C' && choixMenu2 != 'm' && choixMenu2 != 'M' && choixMenu2 != 'r' && choixMenu2 != 'R' && choixMenu2 != 'p' && choixMenu2 != 'P' ) {
                        System.out.println("Veuillez entrer une des valeurs suivantes : c, C, m, M, r, R, p, P");
                        choixMenu2 = Clavier.lireCharLn();
                    }
     
                    if (choixMenu2 == 'c' || choixMenu == 'C') {
     
                        System.out.println("Veuillez entrer une categorie. Cela vous servira a afficher toute les bague de la categorie rentree");
                        System.out.println("0 : Femme    1 : Homme   2  : Unisexe");
                        afficherCategorie = Clavier.lireIntLn();
                        for (int i = 0; i < tailleTableau; i++) {
                            if (b[i].getCategorie() == afficherCategorie) {
                                System.out.println(b[i]);
                            }
                        }
     
                    } else if (choixMenu2 == 'm' || choixMenu2 == 'M') {
     
                    } else if (choixMenu2 == 'r' || choixMenu2 == 'R') {
     
                    } else if (choixMenu2 == 'p' || choixMenu2 == 'P') {
     
                    }
                }
     
            }
     
        } // main
    }
    // Tp3Gr30

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par tirvax Voir le message
    pour faire quelque verification, j'affiche ce quil y a dans mon tableau a la position ou jai creer ma bague.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(b[numeroBagueU]);
    Quand ici j'affiche le contenu de mon tableau il se passe quelque chose de bizarre, il utilise ma methode toString()...
    Qu'est-ce que tu trouves bizarre ? C'est le principe de la méthode System.out.println(Object) que d'appeler la méthode toString() pour afficher l'objet passé en paramètre. La javadoc indique clairement que la méthode toString() permet de créer une "String representation" (une représentation sous forme de chaîne de caractères) de l'instance. Je ne vois pas trop à quoi d'autre tu pourrais t'attendre par ailleurs.

    Citation Envoyé par tirvax Voir le message
    Ensuite mon deuxieme probleme cest que dans un autre choix du menu je dois me charger d'afficher la totalite du tableau et dans laffichage, mon dernier objet rrentrer prend la place de toute les autre bague cree dans le tableau. en gros pour 4 bague cree en position 0,1,2,3 la position 0,1,2 seront toute pareil que la position 3...

    Ca cest ce qui me permet d'afficher tout le tableau ainsi que la position dans le tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (int i = 0; i < tailleTableau; i++  ) {
     
                            System.out.println(i);
                            System.out.println(b[i]);
     
                    }
    Vu que ta boucle est correcte, sauf pour la problématique des null en effet (si tu bornes la fin de la boucle sur le nombre de bagues mises dans le tableau (numeroBagueU), tu ne devrais plus avoir d'affichage des nulls), je soupçonne que tu as déclaré static les variables dans Bague, ce qui signifie que ces variables sont partagées entre toutes les instances de Bague (donc quand tu modifies la valeur pour une bague, ça la modifie pour toute).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2013
    Messages : 7
    Par défaut
    Merci je vois ce que tu veux dire...

    mais je vois pas comment resoudre le probleme... comme tu le vois dans le code complet (la class) toute mes variable pour mon constructeur sont en static... Pour resoudre mon probleme il faut que j'enleve le static cest ca?


    code complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    542
    543
    544
    545
    546
    547
    548
    549
    550
    551
    552
    553
    554
    555
    556
    557
    558
    559
    560
    561
    562
    563
    564
    565
    566
    567
    568
    569
    570
    571
    572
    573
    574
    575
    576
    577
    578
    579
    580
    581
    582
    583
    584
    585
    586
    587
    588
    589
    590
    591
    592
    593
    594
    595
    596
    597
    598
    599
    600
    601
    602
    603
    604
    605
    606
    607
    608
    609
    610
    611
    612
    613
    614
    615
    616
    617
    618
    619
    620
    621
    622
    623
    624
    625
    626
    627
    628
    629
    630
    631
    632
    633
    634
    635
    636
    637
    638
    639
    640
    641
    642
    643
    644
    645
    646
    647
    648
    649
    650
    651
    652
    653
    654
    655
    656
    657
    658
    659
    660
    661
    662
    663
    664
    665
    666
    667
    668
    669
    670
    671
    672
    673
    674
    675
    676
    677
    678
    679
    680
    681
    682
    683
    684
    685
    686
    687
    688
    689
    690
    691
    692
    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    public class Bague {
     
          //Constantes privees
     
        private static final String[] CATEGORIES = { "Femme", "Homme", "Unisexe"};
     
        private static final String[] PIERRES = { "Aucune", "Inconnue", "Saphir", "Peridot",
              "Amethyste", "emeraude", "Diamant", "Grenat", "Rubis", "Onyx", "Pierre de Lune"};
     
        private static final String[] TYPE_METAL = {"Argent", "Platine", "Acier Inoxydable", "Or Jaune",
               "Or Blanc", "Or Rose"};
     
        private static final String[] FINI = { "Aucun", "Antique", "Oxyde"};
     
     
        //Constantes publiques
        public static final int DEFAUT_CATEGORIES = 2;
        public static final int DEFAUT_METAL = 3;
        public static final int DEFAUT_FINI = 0;    
        public static final int DEFAUT_TAILLE = 7;
        public static final int DEFAUT_PIERRES = 1;
        public static final boolean DEFAUT_TAILLE_A_MODIFIER = false;
        public static final boolean DEFAUT_PIERRE_A_CHANGER = false;
        public static final boolean DEFAUT_RESERVEE = false;
        public static final String DEFAUT_DESCRIPTION_DE_LA_BAGUE = "";
        public static final double DEFAUT_PRIX = 25.50; 
     
        public static final int CATEGORIES_MIN = 0;
        public static final int CATEGORIES_MAX = CATEGORIES.length - 1;
        public static final int PIERRES_MIN = 0;
        public static final int PIERRES_MAX = PIERRES.length - 1;
        public static final int TYPE_METAL_MIN = 0;
        public static final int TYPE_METAL_MAX = TYPE_METAL.length - 1;
        public static final int FINI_MIN = 0;
        public static final int FINI_MAX = FINI.length - 1;
        //Vous DEVEZ ajouter les constantes n�cessaires en fonction de l'�nonc�
     
        //public static Bague[] bagueTab = new Bague[500]; //on initie a 500 en admettant que le nombre de bague ne depassera pas cette limite.
        ///////////////////////////////////////////////////////////////////////////////////////
        //                              Methodes utilitaires de CLASSE                       //
        ///////////////////////////////////////////////////////////////////////////////////////
     
     
        /*************************************************************************************
         * Retourne la chaine de caracteres correspondant a un numero de categorie recu en
         * parametre. Si le numero ne correspond pas a une categorie existante, la methode 
         * retourne la chaine vide ("").
         **************************************************************************************/
        public static String categorie (int no) {
            String reponse = "";
            if (no < CATEGORIES_MIN && no > CATEGORIES_MAX ){
                reponse = CATEGORIES[no];
            }else{
                reponse = "";
            }
            return reponse; 
        }
     
        /*************************************************************************************
         * Retourne la chaine de caracteres correspondant a un numero de pierre recu en
         * parametre. Si le numero ne correspond pas a une pierre existante, la methode 
         * retourne la chaine vide ("").
         **************************************************************************************/
        public static String pierre (int no) {
            String reponse = "";
            if ( no < PIERRES_MIN && no > PIERRES_MAX){
                reponse = "";
            }else{
                reponse = PIERRES[no];
            }
            return reponse; 
        }
     
        /*************************************************************************************
         * Retourne la chaine de caracteres correspondant a un numero de type de metal 
         * recu en parametre. Si le numero ne correspond pas a un type existant, la methode 
         * retourne la chaine vide ("").
         **************************************************************************************/
        public static String typeMetal (int no) {
            String reponse = "";
            if (no < TYPE_METAL_MIN && no > TYPE_METAL_MAX) {
                reponse = "";
            } else {
                reponse = TYPE_METAL[no];
            }
            return reponse; 
        }
     
        /*************************************************************************************
         * Retourne la chaine de caracteres correspondant a un numero de fini recu en parametre. 
         * Si le numero ne correspond pas a un fini existant, la methode 
         * retourne la chaine vide ("").
         **************************************************************************************/
        public static String fini (int no) {
            String reponse = "";
            if (no < FINI_MIN && no > FINI_MAX) {
                reponse = "";
            } else {
                reponse = FINI[no];
            }
            return reponse; 
        }
     
     
     
     
     
        // Constructeurs
     
     
        /**
         * Cree un nouvelle bague avec les donnees passees en parametre.
         * Le numero sera attribue automatiquement par le constructeur.  Les numeros debutent a 1.
         *
         * Lorsqu'une valeur passee en parametre ne fait pas partie des valeurs permises, la valeur
         * par defaut sera attribuee automatiquement pas le constructeur a l'attribut correspondant.
         * 
         * Les attributs pour lesquels il n'y a pas de parametre correspondant doivent etre mis aux valeurs 
         * par defaut
         *
         */
        public Bague (String description, int categorie, int taille, int pierre, int metal, double prix) {
     
     
            this.description = description;
     
            if(categorie < 0 || categorie > 2) {
                this.categorie = CATEGORIES[2];
            } else {
                this.categorie = categorie(categorie);
            }
            if(taille < 5 || taille > 12 ) {
                this.taille = 7;
            }else {
                this.taille = taille;
            }
            if(pierre < 0 || pierre > 10){
                this.pierre = PIERRES[1];
            } else {
                               this.pierre = pierre(pierre);
            }
            if(metal < 0 || metal > 5) {
                this.metal = TYPE_METAL[3];
            } else {
                this.metal = typeMetal(metal);
            }
            if(prix < 5.00) {
                this.prix = DEFAUT_PRIX;
            } else {
                this.prix = prix;
            }
     
     
            this.changerTaille = false;
            this.changerPierre = false;
            this.reserver = false;
            this.fini = FINI[0];
     
            numeroBague = numeroBague + 1;
     
                }
     
        /**
        * Cree un nouvelle bague avec les donnees passees en parametre.
        * Le numero sera attribue automatiquement par le constructeur.  Les numeros debutent a 1.
        * 
        * Lorsqu'une valeur passee en parametre ne fait pas partie des valeurs permises, la valeur
        * par defaut sera attribuee automatiquement pas le constructeur a l'attribut correspondant.
        * 
        */
        public Bague (String description, int categorie, int taille, int pierre, int metal, int fini,
                           double prix, boolean reservee, boolean ModifierTaille, boolean ChangerPierre) {
     
            this.description = description;
     
            if(categorie < 0 || categorie > 2) {
                this.categorie = CATEGORIES[2];
            } else {
                this.categorie = categorie(categorie);
            }
            if(taille < 5 || taille > 12 ) {
                this.taille = 7;
            }else {
                this.taille = taille;
            }
            if(pierre < 0 || pierre > 10){
                this.pierre = PIERRES[1];
            } else {
                this.pierre = pierre(pierre);
            }
            if(metal < 0 || metal > 5) {
                this.metal = TYPE_METAL[3];
            } else {
                this.metal = typeMetal(metal);
            }
            if(prix < 5.00) {
                this.prix = DEFAUT_PRIX;
            } else {
                this.prix = prix;
            }
            if (metal == 1 || metal == 2) {
                this.fini = FINI[0];
            }else {
                this.fini = fini(fini);
            }
            if (reservee == true) {
                this.reserver = reservee;
            } else {
                this.reserver = false;
            }
            if(ModifierTaille == true) {
                this.changerTaille = ModifierTaille;
            } else {
                this.changerTaille = false;
            }
            if (ChangerPierre == true) {
                this.changerPierre = ChangerPierre;
            } else {
                this.changerPierre = false;
            }
     
            numeroBague = numeroBague + 1;
                //////////////////////////////////////
                // a completer selon les directives //
                //////////////////////////////////////
     
        }
     
     
        // Observateurs (getters) d'instance
     
        public String getDescription() {
            return description;
        }
        public int getCategorie() {
            int reponse = 0;
            if(categorie == "Femme") {
                reponse = 0;
            }else if (categorie == "Homme") {
                reponse = 1;
            }else if (categorie == "Unisexe") {
                reponse = 2;
            }
            return reponse;
        }
        public int getTaille() {
            return taille;
        }
        public int getPierre() {
            int reponse = 0;
            if(pierre == "Aucune"){
                reponse = 0;
            }else if(pierre == "Inconnue"){
                reponse = 1;
            }else if (pierre == "Saphir"){
                reponse = 2;
            }else if (pierre == "Peridot"){
                reponse = 3;
            }else if (pierre == "Amethyste"){
                reponse = 4;
            }else if (pierre == "emeraude"){
                reponse = 5;
            }else if (pierre == "Diamant"){
                reponse = 6;
            }else if (pierre == "Grenat"){
                reponse = 7;
            }else if (pierre == "Rubis"){
                reponse = 8;
            }else if (pierre == "Onyx"){
                reponse = 9;
            }else {
                reponse = 10;
            }
            return reponse;
        }
        public int getMetal() {
            int reponse = 0;
            if (metal == "Argent") {
                reponse = 0;
            }else if (metal == "Platine") {
                reponse = 1;
            }else if (metal == "Acier Inoxydable") {
                reponse = 2;
            }else if (metal == "Or Jaune") {
                reponse = 3;
            }else if (metal == "Or Blanc") {
                reponse = 4;
            }else if (metal == "Or Rose") {
                reponse = 5;
            }
            return reponse;
        }
        public double getPrix() {
            return prix;
        }
        public int getNumeroBague() {
            return numeroBague;
        }
        public boolean isChangerTaille() {
            return changerTaille;
        }
        public boolean isChangerPierre() {
            return changerPierre;
        }
        public boolean isReserver() {
            return reserver;
        }
        public int getFini() {
            int reponse = 0;
            if(fini == "Aucun") {
                reponse = 0;
            }else if (fini == "Antique") {
                reponse = 1;
            }else if (fini == "Oxyde") {
                reponse = 2;
            }
            return reponse;
        }
     
        ////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////
        ///// Vous devez ajouter les 11 observateurs (getters) d'instance       ////
        ////  IMPORTANT : les observateurs pour la categorie, le fini, la       ////
        ////              pierre et le metal doivent retourner des              ////
        ////              ENTIERS.                                              ////
        ////              Vos gettes doivent suivre la convetion getNomVariable ////
        ////              OU isNomVariable s'il s'agit d'une variable booleene  ////
        ////                                                                    ////
        ////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////
     
        // Modificateurs (setters) d'instance
     
        public void setReserver(boolean res) {
            this.reserver = res;
        }
        public void setChangerPierre(boolean cp) { // cp pour changer pierre
            this.changerPierre = cp;
        }
        public void setChangerTaille(boolean ct) {// ct pour changer taille
            this.changerTaille = ct;
        }
        public void setNumeroBague( int no) {
            this.numeroBague = no;
        }
         /**
         * Modifie la categorie de la baguer.
         * Si la categorie fournie ne fait pas partie des valeurs permises, aucune modification
         * n'est effectuee et aucun message d'erreur ne sera affiche.
         */
        public void setCategorie ( int cat ) {
            this.categorie = CATEGORIES[cat];
        }
     
     
         /**
         * Modifie le prix de la bague.
         * Si le prix de vente fourni ne fait pas partie des valeurs permises, aucune modification
         * n'est effectuee et aucun message d'erreur ne sera affiche. 
         */
        public void setPrix ( double prix ) {
             this.prix = prix;
        }
     
     
         /**
         * Modifie la taille de la bague.
         * Si la taille fournie ne fait pas partie des valeurs permises, aucune modification
         * n'est effectuee et aucun message d'erreur ne sera affiche.
         */
        public void setTaille (int taille){
            this.taille = taille;                         
        }
     
     
         /**
         * Modifie la pierre de la bague.
         * Si la pierre fournie n'est pas parmi les choix possibles, aucune modification
         * n'est effectuee et aucun message d'erreur ne sera affiche.
         */
        public void setPierre (int pierre){
            this.pierre = PIERRES[pierre];
        }
     
     
         /**
         * Modifie le metal de la bague.
         * Si metal n'est pas parmi les choix possibles, aucune modification
         * n'est effectuee et aucun message d'erreur ne sera affiche.
         * Si le nouveau metal est platine ou acier inoxidabble, le fini est automatiquement
         * mis a 0.
         */
        public void setMetal (int metal) {
              this.metal = TYPE_METAL[metal];
        }
     
         /**
         * Modifie le fini de la bague.
         * Si le fini fourni est n'est pas parmis les valeurs valides, aucune modification
         * n'est effectuee et aucun message d'erreur ne sera affiche.
         * Il est a noter que si la bague est en platine ou en acier inoxydable,
         * le fini DOIT etre 0 pour etre considere comme etant valide.
         */
        public void setFini (int fini) {
            this.fini = FINI[fini];
        }
     
        /**
         * Modifie la description de la bague.
         * Aucune modifiction n'est faite et aucun message d'erreur
         * n'est affiche si le parametre est null.
         */
        public void setDescription (String des){
            this.description = des;
        }
     
        ///////////////////////////////////////////////////////////////////////////////////////
        //                             Methodes utilitaires d'instance                       //
        ///////////////////////////////////////////////////////////////////////////////////////
     
     
        /******************************************************************************
         * Retourne une bague dont les caracteristiques sont les memes que celles de la
         * bague courante exception faite de son numero d'identification qui est genere 
         * automatiquement lors de la creation du clone.
         ******************************************************************************/
        public Bague cloner() {
            numeroBague = numeroBague +1;
            //b[numeroBague] = new Bague(getDescription(), getCategorie(), getTaille(), getPierre(), getMetal() , getPrix());
     
            //(String description, int categorie, int taille, int pierre, int metal, double prix)
            //(String description, int categorie, int taille, int pierre, int metal, int fini, double prix, boolean reservee, boolean ModifierTaille, boolean ChangerPierre)
     
            //b []Bague (getDescription(), getCategorie(), getTaille(), getPierre(), getMetal() , getPrix());
     
            return null;//b[numeroBague]; //pour que �a compile... a modifier dans la classe finale
     
        }
     
     
         /******************************************************************************
         * Retourne une chaine de caracteres qui correspond aux caracteristiques d'une 
         * bague. Pour la categorie, la pierre, le type de metal et le fini, le numero ET
         * le nom de la categorie, de la pierre, du type de metal et du fini sont inclus.
         ******************************************************************************/
        public String toString(){
           String reponse;
           DecimalFormat dec2 = new DecimalFormat("0.00");
     
           reponse = "Description : " + getDescription() + ". La categorie de la bague est " + CATEGORIES[getCategorie()] + ". La pierre est de type " + PIERRES[getPierre()] + ". La taille est de " + getTaille() + ". Le metal utilise est "
                    + TYPE_METAL[getMetal()] + " et le prix est de " + getPrix() + " $";
     
     
     
     
            return reponse; 
     
     
        }
     
     
        //----------   P a r t i e   p r i v e e   ----------//
     
        // variable de classe (pour usage interne : donner un numero a chaque bague creee)
     
        private static String description;
        private static String categorie;
        private static int taille;
        private static String pierre;
        private static String metal;
        private static double prix;
        private static int numeroBague = 0;
        private static boolean changerTaille;
        private static boolean changerPierre;
        private static boolean reserver;
        private static String fini;
        // variables d'instance
     
            ////////////////////////////////////////////////////////////////////////////////
            ////////////////////////////////////////////////////////////////////////////////
            ///// Vous devez declarer les variables d'instance pour chacun des attributs ///
            ///// d'une bague.                                                           ///
            ////////////////////////////////////////////////////////////////////////////////
        // Autres m�thodes s'il y a lieu
     
        public static boolean retournerBooleen( char a) {
            boolean reponse = true;
     
            if (a == 'f' || a == 'F') {
               reponse = false;
            }
     
            return reponse;
        }
        public static void validationCategorie(int a) {
            int reponse = 0;
            while (a < 0 || a > 2) {
                System.out.println("Veuillez entrer une valeure valide");
                reponse = Clavier.lireIntLn();
            }
        }
     
     
     
     
     
     
     
        public static int numeroBagueU = 0;
     
        public static void main (String[] params) {
            int tailleTableau = 0;
            char choixMenu = 'a'; // initialisation du choix menu
            char choixMenu2;
     
            int reponse = 0;
     
            // variable que l'utilisateur entre
            int afficherCategorie;
            String descriptionU = ""; // U pour rentre par l'utilisateur
            int categorieU;
            int pierreU;
            int tailleU;
            int metalU;
            int finiU;
            double prixU;
            char reponse1 ;
            char reponse2;
            boolean modifierPierreU;
            boolean modifierTailleU;
     
            boolean reservee = false;
            // FIN VARIABLE
     
     
     
            System.out.println("Description et presentation du logiciel");
            System.out.println("");
            System.out.println("Veuillez indiquer le nombre de bague maximal qui seront present dans la liste");
            tailleTableau = Clavier.lireIntLn();
            while(tailleTableau < 0) {
                System.out.println("Veuillez entrer une valeur superieur ou egale a 1");
                tailleTableau = Clavier.lireIntLn();
            }
     
            Bague[] b = new Bague[tailleTableau];
     
     
            while (choixMenu != 'q' && choixMenu != 'Q') {
     
                System.out.println("MENU");
                System.out.println("");
                System.out.println("N - Nouvelle bague");
                System.out.println("I - Modifier bague");
                System.out.println("S - Supprimer bague");
                System.out.println("Q - Quitter");
                System.out.println("Veuillez selectionner une des x options suivantes : n, i, x, q");
                choixMenu = Clavier.lireCharLn();
     
                while (choixMenu != 'n' && choixMenu != 'N' && choixMenu != 'i' && choixMenu != 'I' && choixMenu != 'l' && choixMenu != 'L' && choixMenu != 'q' && choixMenu != 'Q' ) {
                    System.out.println("Veuillez rentrer une valeur valide : n, N , i, I, s, S");
                    choixMenu = Clavier.lireCharLn();
                }
     
                if (choixMenu == 'n' || choixMenu == 'N'){
     
                    System.out.println("Vous allez creer une nouvelle bague. Veuillez suivre les indications");
                    System.out.println("**********");
                    System.out.println("**********");
     
                    System.out.println("Veuillez entrer un description de la bague");
                    descriptionU = Clavier.lireString();
                    while ( descriptionU == "" ) {
                        System.out.println("Vous etes obliger de rentrer une decription");
                        descriptionU = Clavier.lireString();
                    }
     
                    System.out.println("Veuillez entrer le numero de categorie de votre bague");
                    System.out.println("Les choix des categories figurent parmis les suivantes :");
                    System.out.println("");
                    System.out.println("0 : Femme    1 : Homme   2  : Unisexe");                  
                    categorieU = Clavier.lireIntLn();
                    while ( categorieU < 0 && categorieU > 2 ) {
                        System.out.println("Vous devez rentrer une valeur entre 0 et 2 compris");
                        categorieU = Clavier.lireInt();
                    }
     
                    System.out.println("Veuillez entrer la taille de votre bague, celle-ci doit etre comprise entre 5 et 12");
                    tailleU = Clavier.lireIntLn();
                    while ( tailleU <  5 || tailleU > 12 ) {
                        System.out.println("Vous devez rentrer une valeur comprise entre 5 et 12");
                        tailleU = Clavier.lireIntLn();
                    }
     
                    System.out.println("Veuillez entrer le type de pierre de votre bague");
                    System.out.println("Les choix de pierre sont les suivants :");
                    System.out.println("");
                    System.out.println("0 : Aucune       4 : Amethyste   8  : Rubis");
                    System.out.println("1 : Inconnue     5 : emeraude    9  : Onyx");
                    System.out.println("2 : Saphir       6 : Diamant     10 : Pierre de Lune");
                    System.out.println("3 : Peridot      7 : Grenat");
                    pierreU = Clavier.lireIntLn();
                    while ( pierreU < -1 || pierreU > 11 ) {
                        System.out.println("Vous devez rentrer une valeur entre 0 et 5 ");
                        pierreU = Clavier.lireIntLn();
                    }
     
                    System.out.println("Veuillez entrer le type de metal de votre bague");
                    System.out.println("Les choix de metaux figurent parmi les suivants :");
                    System.out.println("");
                    System.out.println("0 : Argent            3 : Or Jaune");
                    System.out.println("1 : Platine           4 : Or Blanc");
                    System.out.println("2 : Acier Inoxydable  5 : Or Rose");
                    metalU = Clavier.lireIntLn();
                    while ( metalU < -1 || metalU > 6 ) {
                        System.out.println("Vous devez rentrer une valeur entre 0 et 5 ");
                        metalU = Clavier.lireIntLn();
                    }
     
                    if ( metalU != 1 && metalU != 2) {
                        System.out.println("Veuillez entrer le type de fini de votre bague");
                        System.out.println("Les choix du fini d'une bague sont :");
                        System.out.println("");
                        System.out.println("0 : Aucun   2 : Oxyde");
                        System.out.println("1 : Antique");
                        finiU = Clavier.lireIntLn();
                        while ( finiU < -1 || finiU > 3 ) {
                            System.out.println("Vous devez rentrer une valeur entre 0 et 5 ");
                            finiU = Clavier.lireIntLn();
                        }
                    }else {
                        finiU = 0;
                    }
     
                    System.out.println("Veuillez entrer le prix de votre bague, celui-ci doit etre superieur ou egal a 5");
                    prixU = Clavier.lireIntLn();
                    while ( prixU < 5 ) {
                        System.out.println("Vous devez rentrer une valeur superieur ou egale a 5 ");
                        prixU = Clavier.lireIntLn();
                    }
     
                    System.out.println("Faut-il modifier la taille ? entrer v pour oui ou f pour non");
                    reponse1 = Clavier.lireCharLn();
                    while (reponse1 != 'v' && reponse1 != 'V' && reponse1 != 'f' && reponse1 != 'F' ) {
                        System.out.println("Veuillez entrer v, V pour oui ou f, F pour non");
                        reponse1 = Clavier.lireCharLn();
                    }
                    modifierTailleU = retournerBooleen(reponse1);
     
     
     
                    System.out.println("Faut-il modifier la pierre ? entrer v pour oui ou f pour non");
                    reponse2 = Clavier.lireCharLn();
                    while (reponse2 != 'v' && reponse2 != 'V' && reponse2 != 'f' && reponse2 != 'F' ){
                        System.out.println("Veuillez entrer v, V pour oui ou f, F pour non");
                        reponse2 = Clavier.lireCharLn();
                    }
                    modifierPierreU = retournerBooleen(reponse2);
     
                    Bague bague123 = new Bague( descriptionU, categorieU, tailleU, pierreU, metalU, finiU, prixU, reservee, modifierTailleU, modifierPierreU);
                    b[numeroBagueU] = bague123;
     
                    //b[numeroBagueU].toString();
                    System.out.println(numeroBagueU);
                    System.out.println(numeroBagueU);
                    numeroBagueU = numeroBagueU + 1; 
     
                } else if (choixMenu == 'i' || choixMenu == 'I') {
     
                    System.out.println("Veuillez indiquer le numero d'identification de la bague que vous voulez afficher a l'ecran");
                    reponse = Clavier.lireIntLn();
                    while (reponse < 0) { 
                        System.out.println("Veuillez entrer une valeur superieure a 0");
                        reponse = Clavier.lireIntLn();
                    }
                    if (b[reponse] == null ) {
                        System.out.println("Desole, le numero specifie n'est pas valide");
                    } else {
                        System.out.println(b[reponse]);
                    }
     
                } else if (choixMenu == 'l' || choixMenu == 'L') {
     
                    for (int i = 0; i < tailleTableau; i++  ) {
                        //if (b[i] != null) {
                            System.out.println(i);
                            System.out.println(b[i]);
                        //}
                    }
     
                    System.out.println("Veuillez faire un choix dans le menu suivant :");
                    System.out.println("C - Affiche les bagues dont la categorie est la meme que celle que vous validerez");
                    System.out.println("M");
                    System.out.println("R");
                    System.out.println("P");
                    choixMenu2 = Clavier.lireCharLn();
     
                    while (choixMenu2 != 'c' && choixMenu2 != 'C' && choixMenu2 != 'm' && choixMenu2 != 'M' && choixMenu2 != 'r' && choixMenu2 != 'R' && choixMenu2 != 'p' && choixMenu2 != 'P' ) {
                        System.out.println("Veuillez entrer une des valeurs suivantes : c, C, m, M, r, R, p, P");
                        choixMenu2 = Clavier.lireCharLn();
                    }
     
                    if (choixMenu2 == 'c' || choixMenu == 'C') {
     
                        System.out.println("Veuillez entrer une categorie. Cela vous servira a afficher toute les bague de la categorie rentree");
                        System.out.println("0 : Femme    1 : Homme   2  : Unisexe");
                        afficherCategorie = Clavier.lireIntLn();
                        for (int i = 0; i < tailleTableau; i++) {
                            if (b[i].getCategorie() == afficherCategorie) {
                                System.out.println(b[i]);
                            }
                        }
     
                    } else if (choixMenu2 == 'm' || choixMenu2 == 'M') {
     
                    } else if (choixMenu2 == 'r' || choixMenu2 == 'R') {
     
                    } else if (choixMenu2 == 'p' || choixMenu2 == 'P') {
     
                    }
                }
     
            }
     
     
        } // main
     
    }
    // Tp3Gr30


    Merci encore pour ton aide

    Cordialement

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Toutes ces variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     private static String description;
        private static String categorie;
        private static int taille;
        private static String pierre;
        private static String metal;
        private static double prix;
        private static int numeroBague = 0;
        private static boolean changerTaille;
        private static boolean changerPierre;
        private static boolean reserver;
        private static String fini;
    ne devraient pas être static (enlève donc ce mot clé). Enfin, j'ai pris ce bloc à la louche : je n'ai pas vérifié la signification de chaque variable, mais à priori, il s'agit bien là des propriétés propres à chaque bague, donc leur valeur n'est pas partagée entre toutes les instances de bagues.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2013
    Messages : 7
    Par défaut
    Merci.

    C'est résolu ! Tout se stocke comme il faut.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VxiR2] problème affichage tableau excel DESKI
    Par padwall dans le forum Deski
    Réponses: 3
    Dernier message: 27/01/2010, 11h29
  2. Problème affichage tableau avec section
    Par piero15 dans le forum Webi
    Réponses: 8
    Dernier message: 11/01/2010, 14h10
  3. Problème affichage tableau avec Chrome 2
    Par Erazion dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 27/05/2009, 09h53
  4. problème affichage tableau
    Par nunu... dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 28/12/2006, 19h40
  5. [MySQL] Problème affichage tableau PHP avec données SQL
    Par akalaan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/04/2006, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo