Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de stockage dans une ArrayList

Sujet résolu
    18 janvier 2018 à 14:45:10

    Bonjour,

    Je suis entrain de faire un programme mais je galère à mettre plusieurs objet dans mon arraylist sans que tout la liste se remplace lorsque je met une nouvelle valeur.

    voici mon code :

    /**
    *   @author TTGamer
    */
    
    public class Program 
    {
        static Scanner scanne = new Scanner(System.in);
        public static ArrayList<Article> articles = new ArrayList();
    
        public static void main(String[] args) 
        {
            do{
                // Le probleme est ici !
                // on demande les informations a l'utilisateur
                System.out.print("\nVeullez saisir le nom de l'objet\n> ");
                String name = scanne.next();
    
                System.out.print("Veuillez saisir le prix de l'objet\n> ");
                prix = scanne.nextInt();
    
                System.out.print("Veuillez saisir la quantité en stock de l'objet\n> ");
                stock = scanne.nextInt();
    
                // On stock les données dans l'arrayliste
                articles.add(new Article(id, name, prix, stock));
                String reponse = ("----------------------------------------\n"
                        + "Objet ajouter !\n"
                        + "----------------------------------------");
    
                // On imprime la liste
                add(articles);
    
                id++;
    
    
                System.out.println("\n" + reponse);
    
                // Demmamde a l'utilisateur si il veut continuer
                System.out.print("\nVoulez-vous continuer le programme ?(oui/non)\n> ");
                repBoucle = scanne.next();
                if (repBoucle.equals("oui")) 
                {
                    boucle = true;
                }
                System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
            } while (boucle == true)
        }
    
        // methode imprime arrayListe
        protected static void add(ArrayList<Article> display) 
        {
            System.out.println("\nNouvelle liste du stock :");
            for (int i = 0; i < display.size(); i++) {
                System.out.println(" - Id : " + display.get(i).getId());
                System.out.println(" - Nom : " + display.get(i).getName());
                System.out.println(" - Prix : " + display.get(i).getPrix());
                System.out.println(" - Stock : " + display.get(i).getStock());
                System.out.print("\n");
            }
            System.out.println("Nombre d'article dans le stock : " + articles.size());
        }
        
    }
    
    
    // class Article
    public class Article {
    
        private static int id;
        private static String name;
        private static int prix;
        private static int stock;
    
        public Article(int id, String name, int prix, int stock) {
            Article.id = id;
            Article.name = name;
            Article.prix = prix;
            Article.stock = stock;
        }
    
        protected int getId() {
            return id;
        }
    
        protected void setId(int id) {
            Article.id = id;
        }
    
        protected String getName() {
            return name;
        }
    
        protected void setName(String name) {
            Article.name = name;
        }
    
        protected int getPrix() {
            return prix;
        }
    
        protected void setPrix(int prix) {
            Article.prix = prix;
        }
    
        protected int getStock() {
            return stock;
        }
    
        protected void setStock(int stock) {
            Article.stock = stock;
        }  
    }



    Je ne comprend pas comment faire pour que mon arrayliste ne ce reformate pas a chaque ajout.

    Merci pour vos réponse :lol:

    -
    Edité par _.Linxy._ 18 janvier 2018 à 14:53:06

    • Partager sur Facebook
    • Partager sur Twitter

    I'AM NOT A GEEK ❌ ! I'AM A GAMER 🎃🔥 !

      18 janvier 2018 à 16:53:46

      Bonjour,

      C'est parce que tes attributs sont "static"

      Attribut pas static : un par instance

      Attribut static : un par classe

      • Partager sur Facebook
      • Partager sur Twitter
        18 janvier 2018 à 17:15:52

        brubru777 a écrit:

        Bonjour,

        C'est parce que tes attributs sont "static"

        Attribut pas static : un par instance

        Attribut static : un par classe

        Salut,

        ah oui merci beaucoup :honte:

        • Partager sur Facebook
        • Partager sur Twitter

        I'AM NOT A GEEK ❌ ! I'AM A GAMER 🎃🔥 !

        Problème de stockage dans une ArrayList

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown