[LAJ1] Display de la classe ShoppingList [Résolu]

Voir le sujet précédent Voir le sujet suivant Aller en bas

[LAJ1] Display de la classe ShoppingList [Résolu]

Message  Kill-R* le Sam 23 Fév 2008, 20:38

Bonjour à tous.

Je poste ce message car j'ai pas vu d'autres messages qui portaient sur mon erreur.

Donc comme je le dis dans le titre, j'ai un probleme avec mon display de ma classe ShoppingList.

Quand dans mon code, je mets :
Code:
    public void display() {
        int nbPurchase = shoppingList.size();
        System.out.println("Ma liste de course :");
        for (int i = 0; i < nbPurchase; i++){
            System.out.println(shoppingList.get(i).getArticle() + " : " + shoppingList.get(i).getQuantity());
        }
    }

Le message qui s'affiche est le suivant :
Code:
Ma liste de course :
null : 0
null : 0
null : 0
(Je précise que j'ai bien ajouté 3 Purchases dans cette liste, donc il ajoute bien 3 choses)

Ensuite, je me suis dit dans ma tite tête : "Mais Manu, quand tu recois l'article, tu dois demander le mnemonic !" *Manu s'auto-donne une baffe*

C'est ainsi que j'ai conclu que le code devait etre :
Code:
    public void display() {
        int nbPurchase = shoppingList.size();
        System.out.println("Ma liste de course :");
        for (int i = 0; i < nbPurchase; i++){
            System.out.println(shoppingList.get(i).getArticle().getMnemonic() + " : " + shoppingList.get(i).getQuantity());
        }
    }

Mais la, je recois une nouvelle baffe car le message qui s'affiche maintenant c'est :
Code:
Ma liste de course :
Exception in thread "main" java.lang.NullPointerException
          at g31186.Shop.ShoppingList.display(ShoppingList.java:38)
          at g31186.Shop.Main.listAndExit(Main.java:148)
          at g31186.Shop.Main.main(Main.java:81)

Donc en gros, j'suis coincé...

S'il te plait MTV, tune ma caisse ! ! !

OUUUUUUPS Déso, je regarde justement Pimp My Ride, j'ai été emporté... Razz

S'il te plait ESI, arrange mon code ! ! !

Édité par pbt, j'ai ajouté le "Résolu" moi-même ;-)


Dernière édition par PbT le Dim 24 Fév 2008, 20:33, édité 1 fois

Kill-R*

Nombre de messages : 55
Age : 30
Prénom : Manuel
Statut : Etd 2ème Réseau
Localisation : Bruxelles
Date d'inscription : 18/09/2007

http://www.reggaetonurbano.be

Revenir en haut Aller en bas

Re: [LAJ1] Display de la classe ShoppingList [Résolu]

Message  Nicolas le Sam 23 Fév 2008, 22:36

La je vois pas vraiment mais ce que je peut dire c'est qu'un foreach est beaucoup "plus sympas" et moins casse tête Smile

De plus pour les etudiants de Me Bastreghi (et peut être les autres) un foreach est "vivement recommander" Wink

voici ce que j'ecrirais:
System.out.println("Liste de course:");
for(ShoppingList s :shoppingList)
System.out.println(s.getArticle().getMnemonic()+" "+s.getQuantity());
}

Dans l'espoir d'avoir aider Smile

Nicolas

Nombre de messages : 12
Age : 28
Prénom : Nicolas
Statut : etudiant
Localisation : Bruxelles
Date d'inscription : 06/12/2007

Revenir en haut Aller en bas

Re: [LAJ1] Display de la classe ShoppingList [Résolu]

Message  pbt le Sam 23 Fév 2008, 23:08

Nicolas a écrit:voici ce que j'ecrirais:
Code:

        System.out.println("Liste de course:");
    for(ShoppingList s :shoppingList)
       System.out.println(s.getArticle().getMnemonic()+" "+s.getQuantity());
    }
Ta ShoppingList contient des Purchase et pas des "ShoppingList" donc ce serait plutôt,
Code:

for (Purchase p : myShoppingList) {
  System.out.println(p);
}
... pour peu qu'il y ait quelques méthodes toString par çi par là.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Display de la classe ShoppingList [Résolu]

Message  Nicolas le Sam 23 Fév 2008, 23:14

Merçi M Bettens

Petite erreur parce que j'avais pas mon code sous les yeux pour repondre.

Donc:
for (Purchase p : myShoppingList) {
System.out.println(p);
}
p appelle la methode toString() de Purchase qui elle-même appelle la methode toString() d'Article

SmileSmile

Nicolas

Nombre de messages : 12
Age : 28
Prénom : Nicolas
Statut : etudiant
Localisation : Bruxelles
Date d'inscription : 06/12/2007

Revenir en haut Aller en bas

Re: [LAJ1] Display de la classe ShoppingList [Résolu]

Message  mcd le Sam 23 Fév 2008, 23:32

Kill-R* a écrit:S'il te plait ESI, arrange mon code ! ! !
Si on en croit l'output les Purchase mis dans la liste sont (null,0).
J'irais vérifier le constructeur de Purchase pour voir si les attributs sont bien initialisés.
Une erreur classique est d'écrire un truc du genre
Code:
quantité = quantité;
au lieu de
Code:
this.quantité = quantité;

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Display de la classe ShoppingList [Résolu]

Message  Kill-R* le Dim 24 Fév 2008, 13:50

mcd a écrit:
Kill-R* a écrit:S'il te plait ESI, arrange mon code ! ! !
Si on en croit l'output les Purchase mis dans la liste sont (null,0).
J'irais vérifier le constructeur de Purchase pour voir si les attributs sont bien initialisés.
Une erreur classique est d'écrire un truc du genre
Code:
quantité = quantité;
au lieu de
Code:
this.quantité = quantité;
Et bien j'y avais pensé, et j'avais été voir, et ça me semblait correcte. Mais maintenant que j'ai eu l'exemple "this.quantité = quantité", j'ai comprit mon erreur...

J'avais écrit "quantité = this.quantité" ...

Et donc je viens de tester, et sa fonctionne ! cheers

Un grand merci en tout cas Exclamation

Kill-R*

Nombre de messages : 55
Age : 30
Prénom : Manuel
Statut : Etd 2ème Réseau
Localisation : Bruxelles
Date d'inscription : 18/09/2007

http://www.reggaetonurbano.be

Revenir en haut Aller en bas

Re: [LAJ1] Display de la classe ShoppingList [Résolu]

Message  mcd le Dim 24 Fév 2008, 16:11

Allez, un petit [RESOLU] dans le titre alors !

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Display de la classe ShoppingList [Résolu]

Message  Contenu sponsorisé Aujourd'hui à 21:06


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum