Bonjour,
J'ai repris un ancien contrôle pour réviser mon Java. On me demande de créer une classe cocktail qui prend 3 attributs (un nom, un tableau "boissons" (5 boissons max) qui liste les boissons, et un tableau "volume" qui associe pour chaque boisson son volume en fraction de litre (ex : 0.2l)).
Jusque là je n'ai pas d'ennui. Ensuite on me demande de créer deux méthodes ajouterBoissons : qui ajoute une boisson au cocktail et doit permettre de presciser le volume et une méthode listerBoisson qui renvoie un String contenant la liste des boissons avec leurs volume comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class Cocktail { private String nom; private String boissons[]; private double volume[]; private int i=0; public Cocktail(String nom) { this.setNom(nom); }
<nom du cocktail> : volume l de boisson, volume1 l de boisson1,etc...
ex: Punch : 0.6l de Rhum,0.2l de jus d'orange,...
Je vous poste mon fichier Cocktail.java entier :
ainsi que le main où je pense qu'il n'y a pas d'erreurs :
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 public class Cocktail { private String nom; private String boissons[]; private double volume[]; private int i=0; public Cocktail(String nom) { this.setNom(nom); } public void ajouterBoisson (String b, double v){ boissons[i] = b; volume[i] = v; i++; } public void listerBoissons(){ System.out.println(nom+":"); for (int i=0 ; i < boissons.length ; i++){ System.out.println(boissons[i]); } } public double calculerVolumeTotal(){ double tot=0; for (int j=0 ; j < i ; j++){ tot=tot+volume[j]; } return tot; } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public double [] getVolume() { return volume; } public void setVolume(double [] volume) { this.volume = volume; } public String[] getBoissons() { return boissons; } }
A la compilation éclipse me renvoi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class Cocktail_Test { public static void main(String[] args) { Cocktail essai = new Cocktail("Punch"); essai.ajouterBoisson("rhum",0.6); essai.ajouterBoisson("jus d'orange", 0.2); essai.ajouterBoisson("grenadine", 0.1); essai.listerBoissons(); } }
Exception in thread "main" java.lang.NullPointerException
at Cocktail.ajouterBoisson(Cocktail.java:15)
at Cocktail_Test.main(Cocktail_Test.java:6)
Merci d'avance pour votre aide
Partager