632.1/PROGRAMMATION
Travauxpratiques–SérieP11
PeterDAEHNE1/3Version2.0
Objectifs
Mettreenœuvrelesconceptsdelaprogrammationorientéeobjet.
Parcourirdesstructuresdedonnéeseneffectuantdestraitementsdeleurscomposants.
Implanterdesméthodesrépondantàunensembledespécifications.
Utiliserlesclassesjava.util.ArrayListetjava.util.StringTokenizerdelabibliothèque
Java.
Énoncé
Développeruneapplicationdegestiond’undistributeurautomatiqued’articles(sandwich,chocolat,etc.).Il
s’agitd’afficherunrapportsurlecontenud’undistributeurquivousestfournisouslaformed’unfichier
texte.
Ledistributeurcontientunensemblederayonsdanslesquelslesarticlessontdéposés.Leclientchoisitun
rayonparsonnuméroetlepremierarticledurayontombedanslepanier.Leremplissagedudistributeur
dépenddesarrivages.Chaquerayonsertunmêmetyped’articlesmaiscesarticlespeuventêtredifférents
(lerayonsandwichpeutservirdessandwichesaujambon,ausalamiouaufromage).
Cequiestdemandé:
Mémoriserlesdonnéesducontenududistributeur,àpartirdufichiertextefourni.
LesdonnéesserontmémoriséesdansdesobjetsdeclassesBoissonouNourritureselonleurcatégorie
d’article.Chaqueréférenced’articleestplacéedansunrayon(ArrayList).
ChaquerayonestmémorisédansdesobjetsdeclasseRayon.Chaqueréférencederayonestplacée
dansledistributeur(ArrayList).
Lerapportdoitprésenter(voirexempled’exécution):
Leprixleplusélevédesarticlescontenudansledistributeur;
Lebénéficetotalpossible(sommedesprixde«vente–prixderevient»detouslesarticles);
Lenombred’articlesprésentsparrayon.S’ilenresteunoumoins,afficher«ÀREMPLIR».
Réfléchiràlamanièred’affichertouslesrayonsettouslesarticlesdudistributeur.
Données
Lefichierdécrivantlecontenud’undistributeurlistechaquearticle(unparligne).Pourchaquearticle,en
plusdesdonnéesspécifiquesàl’article,sontmentionnéslen°dudistributeuretlen°durayon.
Lesarticlessontclassifiésselonleurtypesoitcommeuneboisson(0),soitcommedelanourriture(1).
Cetypedéterminesiledernierchampreprésenteunecontenance(boisson)ouunpoids(nourriture).
Ledélimiteurdelignesest"\n\r",ledélimiteurdechampsest";".
Structured’uneligne:
n°distributeur;n°rayon;n°article;nom;type;description;prixderevient;prixvente;contenanceoupoids
Exemplededonnées
01;06;2;eau;0;boisson;0.1;1.5;0.33
01;06;2;eau;0;boisson;0.1;1.5;0.33
01;07;14;sandwich;1;jambon;1.4;3.7;220
01;07;14;sandwich;1;jambon;1.4;3.7;220