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

avec Java Discussion :

Débutante - ArrayList qui affiche toujours le même item!


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiante
    Inscrit en
    Mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiante

    Informations forums :
    Inscription : Mars 2019
    Messages : 4
    Par défaut Débutante - ArrayList qui affiche toujours le même item!
    Bonjour,

    Je débute dans Java, et j'ai un soucis lorsque j'essaie de créer une ArrayList qui correspond à différentes traduction d'étiquettes de bouton.
    J'ai tenté de faire quelque chose de simple, mais cela ne fonctionne pas!
    Dans l'exemple ici, cela créé bien une ArrayList de 3 items, mais c'est 3 fois le dernier item!
    Où est mon erreur?

    Merci d'avance!

    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
    import java.util.ArrayList;
     
     
    public class Traduction1 {
     
     
      protected static ArrayList<Traduction1> list = new ArrayList<>();
      protected static String id;
      protected static String francais;
      protected static String english;
      protected static String langue = "francais";
     
     
      public Traduction1(String id, String francais, String english) {
        this.id = id;
        this.francais = francais;
        this.english = english;  
      }
     
      protected static void listTraduction() {
        list.add(new Traduction1("id_open", "Ouvrir une partie", "Open a game"));
        list.add(new Traduction1("id_play", "Jouer", "Play"));
        list.add(new Traduction1("id_save", "Sauvegarder la partie", "Save the game"));
      }
     
     
      protected static void afficher(ArrayList<Traduction1> list) {
        String intervalle = ", ";
        for (Traduction1 item : list) {
          System.out.println(item.id + intervalle + item.francais + intervalle + item.english);
        }
      }       
     
     
      public static void main (String args[]) { 
      listTraduction();
      afficher(list);
      }
     
    }

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 131
    Par défaut
    Salut,

    En utilisant le mot "static" devant tes variables de classes (list, id, francais...), une seule instance de ces variables et creer en memoire pour l'ensemble des instances Traduction1.
    Ce qui veut dire que peux importe le nombre d'instances Traduction1 que tu creeras, ces variables sont communes a toutes tes instances.

    La valeurs de ces variables seront donc egales aux dernieres valeurs que tu leurs aura attribuer soit dans ton cas : "id_save", "Sauvegarder la partie", "Save the game"

    Pour faire simple, retire le mot "static" devant tes variables de telle sorte que chaque instance creee de Traduction1 ai ses propres variables.

    Voila tout

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiante
    Inscrit en
    Mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiante

    Informations forums :
    Inscription : Mars 2019
    Messages : 4
    Par défaut
    Merci!
    Effectivement, cela fonctionne!
    Et surtout, merci de prendre le temps d'aider une débutante. C'est vraiment apprécié!

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

Discussions similaires

  1. [Google Maps] Affiche toujours la même infobulle
    Par Pierrick81 dans le forum APIs Google
    Réponses: 2
    Dernier message: 29/06/2011, 08h38
  2. [Débutant] Programme qui affiche des chaînes de caractère
    Par funy16 dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 04/11/2009, 09h44
  3. [PHP 5.2] Valeur balise select qui affiche toujours 100
    Par raffa dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2009, 01h03
  4. [MySQL] la page détaillée affiche toujours les mêmes données
    Par paricilas dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/02/2007, 10h50
  5. [WebForms]Afficher toujours le même URL pour toutes mes pages
    Par Irish dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 15/12/2006, 14h44

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