Bonjour à vous tous,
Je code en Java pour un exercice qu'on m'a donné en cours.
Malgré ma compréhension, java n'exécute pas ce que je veux et après avoir cherché partout sur le net je n'arrive pas à trouver le problème..
Je possède une classe Album comme ceci (avec les setters, etc, bien sûr):
D'une interface IMagasin :
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 public class Album { private String titre, artiste; private int annee; private int prix; private int stock; // CONSTRUCTEUR avec tout les éléments public Album(String artiste, String titre, int annee, int prix, int stock) { this.artiste = artiste; this.titre = titre; this.annee = annee; this.prix = prix; this.stock = stock; }
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 package edu.magasin; import java.util.List; public interface IMagasin { /** * Ajoute l'album au catalogue. Cet album sera ensuite disponible pour achat * au format MP3. */ public void ajouteAuCatalogue(Album album); /** * Ajoute n unites de l'album au stock. */ public void ajouteAuStock(Album album, int n); /** * Renvoie une liste d'albums correspondant au titre en parametre */ public List<Album> rechercheAlbumParTitre(String titre); /** * Renvoie une liste d'albums par l'artiste en parametre */ public List<Album> rechercheAlbumParArtiste(String nomArtiste); /** * Pour le format MP3 : achete l'album s'il est present au catalogue. Pour * le format CD Audio : achete l'album si au moins une unite en stock, puis * debite le stock d'une unite. */ public boolean acheteAlbum(Album album, Format format); }
Je dispose d'une arraylist avec quelques éléments de départ comme ceci dans ma classe Magasin :
J'essaye de : modifier le stock d'une liste et d'ajouter un élement à la liste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public List<Album> ListeAlbums() { List<Album> Catalogue = new ArrayList<Album>(); // ///////////////////////Artiste/////Titre album//annee/prix/stock Catalogue.add(new Album("Deftones", "Adrenaline", 1995, 5, 30)); Catalogue.add(new Album("Deftones", "Live in Hawaii", 2002, 30, 5)); Catalogue.add(new Album("Ez3kiel", "Handle with Care", 2001, 11, 0)); Catalogue.add(new Album("Chopin", "Nocturnes", 2000, 10, 10)); Catalogue.add(new Album("Carbon Airways", "Black Sun", 2013, 20, 30)); return Catalogue; }
Voilà comme j'essaye de faire par exemple pour ajouter un élément :
Qui renvoie ensuite à la méthode ajouteAuCatalogue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 System.out.println("\n\n"); Scanner sc4 = new Scanner(System.in); System.out.print("Veuillez saisir le nom de l'artiste :"); String artiste = sc4.nextLine(); System.out.print("Veuillez saisir le titre de l'album :"); String titre = sc4.nextLine(); System.out.print("Veuillez saisir l'année de sortie :"); int annee = sc4.nextInt(); System.out.print("Veuillez saisir le prix :"); int prix = sc4.nextInt(); Album nouveau = new Album(artiste, titre, annee, prix, 0); M.ajouteAuCatalogue(nouveau);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public void ajouteAuCatalogue(Album album) { ListeAlbums().add(album); }
Et après l'afficher avec ma méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void afficheToutLesAlbums() { for (int i = 0; i < ListeAlbums().size(); i++) { System.out.println("Album [artiste= " + ListeAlbums().get(i).getArtiste() + ", titre= " + ListeAlbums().get(i).getTitre() + ",sortie= " + ListeAlbums().get(i).getAnnee() + ",id unique= " + i + "], stock = " + ListeAlbums().get(i).getStock()); } }
Rien ne marche. De même pour la démarche pour changer le stock, quand j'affiche les variables tout est là, mais impossible d'agir sur la liste..
Il doit me manquer un truc tout bête pour comprendre mais je n'y arrive pas..
J'espère avoir été assez clair ^^
Merci d'avance pour vos réponses !
Partager