Sunteți pe pagina 1din 1

Test 2 Java

- excepii, colecii i fluxuri I/O 1. Construii clasele:


Brick: - constructori: Brick() Construiete o crmid, returnnd n 90% din cazuri o crmid bun.

n rest, se arunc excepia QualityException (i deci, crmida nu se mai construiete).


Factory:

- atribute: stock:Collection (Vector, List, Queue, etc. la alegere) - metode: BuildBricks():void Construiete i adaug stocului 50 de crmizi. Se permite ca maxim 5 crmizi s fie de calitate slab (QualityException) acele crmizi nu se adaug stocului. n caz contrar (mai mult de 5 crmizi de calitate slab), se arunc toate crmizile (i cele bune !) i se reia procesul. getPileOfBricks(int nr):Collection dac exist nr crmizi pe stoc, returneaz o colecie de nr crmizi. Dac nu sunt destule crmizi pe stoc, apeleaz metoda buildBricks() i arunc OutOfBricksException (parametrul: nr crmizi existente).
BrickRetailer: - metode: commercialiseBricks(int nr):Collection apeleaz getPileOfBricks(nr) din clasa Factory. Returneaz colecia de nr crmizi sau excepia. ConstructionCompany: - metode: buildHomes():void citete din fisierul home_i.txt stocul de crmizi necesar pentru

o faz de construcie (nr ntregi, pe linii separate), apoi apeleaz metoda commercialiseBricks(nr), apoi scrie rezultatul apelului n fisierul result_i.txt astfel: 61 bricks OK. Go on building. out of stock: 35 bricks ordered, only 22 could be bought. 2. n clasa MainClass, n metoda main(), construii: 2 ConstructionCompany, 1 BrickRetailer, 1 Factory. Apelai buildHomes() pentru fiecare ConstructionCompany. Fiierele de intrare i ieire sunt:
home_1.txt home_2.txt home_3.txt result_1.txt result_2.txt result_3.txt

BrickRetailer +commercialiseBricks(...): Collection

Factory -stock: Collection +buildBricks(): void +getPileOfBricks(int nr): Collection

ConstructionCompany Brick +buildHomes(): void

S-ar putea să vă placă și