distributeur de boisson

Pages: 11 (2636 mots) Publié le: 16 juillet 2014
Mini-Projet Java
Vending Machine Simulator
http://www.ukonline.be/programmation/java/

Description
Ce mini-projet s’intéresse à l’écriture d’un simulateur de distributeur automatique. Un distributeur
automatique vend un certain nombre de produits et accepte certaines pièces. La première étape consiste
à introduire un certain nombre de pièces dans la machine, on choisit ensuite le produitdésiré. Plusieurs
cas sont ensuite à envisager : le produit demandé n’est plus disponible, l’utilisateur n’a pas introduit
assez d’argent, il n’y a pas assez d’argent dans la machine pour rendre la monnaie, . . . On peut aussi
demander à la machine de rendre tout l’argent introduit et donc annuler la transaction en cours.
On va écrire un programme en deux parties. La première partie consiste àécrire des classes pour
modéliser le distributeur automatique, et ensuite on va écrire une interface graphique (exemple figure 1)
que l’on va greffer sur le modèle. On va donc écrire un programme modulaire et adaptable.

Figure 1. Interface graphique du simulateur de distributeur automatique

1

Mini-Projet Java

Vending Machine Simulator

Structure du programme
Le programme est composéde nombreuses classes et interface comme vous pouvez le voir sur la
figure 2. On peut voir trois parties : modélisation d’un distributeur automatique générique (abstrait),
un distributeur automatique de boissons qui accepte des euros (concret) et enfin la dernière partie
consiste à écrire une interface graphique pour simuler un distributeur automatique.
interface Coin
abstract classGenericVendingMachine
interface VendingMachine

class Drink

class Product

class VendingMachineSimulator

class DrinksVendingMachine

enum EuroCoin

Figure 2. Diagramme de classe du mini-projet

Le programme que l’on va écrire doit faire des calculs financiers. On va devoir faire des calculs précis
pour rendre la monnaie exacte par exemple. On ne peut donc pas utiliser le type primitif doublepour
représenter les prix et l’argent, on va devoir utiliser des objets de type BigDecimal.

Implémentation
1. L’interface Coin vous est donnée. On vous fournit également différentes classes qui implémentent
chacune des pièces d’euro existante. Ces différentes classes sont implémentées sous forme d’un
type énuméré (voir EuroCoin en annexe).
2. La première chose qu’on vous demande de faireest de définir une classe Product qui représente
un produit. Un produit est caractérisé par un nom (String) et par un prix (BigDecimal). Outre
un constructeur, définissez les méthodes dont voici les signatures :
1
2
3
4

public
public
public
public

String getName () ;
BigDecimal getPrice () ;
String toString () ;
boolean equals ( Object o ) ;

// renvoie le nom du produit
//renvoie le prix du produit

3. Vous pouvez maintenant vous attaquer à la classe GenericVendingMachine qui représente un
distributeur automatique générique. Un tel distributeur vend un certain nombre de produits et
accepte un certain nombre de pièces. On vous donne quelques variables d’instance :
– soldProducts contient les produits vendus par la machine ;
– acceptedCoins contient les piècesacceptées par la machine ;
– coinQuantities contient le nombre de pièces dans la machine. Le ie élément de ce tableau
contient le nombre de pièces de type acceptedCoins[i] se trouvant dans la machine.

http://www.ukonline.be/programmation/java/

2

Mini-Projet Java

Vending Machine Simulator

Si vous regardez l’extrait de classe donné en annexe, vous verrez qu’on y retrouve un certainnombre de méthodes privées qui vous seront utiles pour implémenter les autres méthodes de la
classe :
– computeChange permet de calculer les pièces qu’il faut rendre pour atteindre un certain montant. Le choix de la méthode à utiliser pour rendre la monnaie vous est laissé : le moins de
pièces possibles, . . . Si la machine ne contient pas assez de pièces pour rendre la somme requise,
cette...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Les boissons
  • Boissons
  • Les boissons
  • Boissons
  • Les boissons
  • Boisson
  • marque de distributeur
  • Marques des distributeurs

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !