Třídu Demo vůbec neměňte!
|
1) Napište třídu Coffer (= česky: bedna, truhla) s atributy
weight (= česky: váha) a price (= česky: cena),
oběma typu double. Třída bude mít konstruktor se dvěma parametry,
první určující váhu, druhý určující cenu.
Přidejte metody getPrice() a getWeight(),
obě s návratovým typem double, které zpřístupní hodnoty
příslušných atributů.
Dále nadefinujte metodu, která je třeba k žádanému výstupu
metody main (viz dole).
|
2) Napište třídu Lorry (= česky: nákladní automobil)
s atributy tonnage (= česky: nosnost), weight
(= česky: váha), oběma typu double a assurance
(= česky: pojištění) typu int. Třída bude mít jen jeden
konstruktor, který nastaví atribut tonnage.
Naprogramujte následující metody:
- booleovskou canLoad(Coffer y), která vrátí true, když
a jen když by bylo možné naložit objekt typu Coffer, jenž je
parametrem, aniž by byla spolu s již naloženým překročena
tonnage (= česky: nosnost) objektu Lorry
(= česky: nákladního automobilu)
- load(Coffer y) bez návratového typu, která naloží
objekt typu Coffer, jenž je parametrem, na objekt Lorry. Zároveň
připočítejte 10% z ceny truhly k pojištění dopravy nákladu
(přesněji celou část z 10%). Pojištění
prázdného automobilu je 0,- Kč. Metoda naloží objekt typu Coffer vždy,
tj. netestuje, jestli tím překročíme nosnost.
- metodu, která je třeba k žádanému výstupu metody
main (viz dole).
|
Kontrolou nechť vám je požadovaný výstup:
|
We have three coffers to load: coffer hefts 1822.5 and has price 32542,
coffer hefts 1622.75 and has price 59542
a coffer hefts 30.3 and has price 242325.
We load coffer hefts 1822.5 and has price 32542.
We load coffer hefts 1622.75 and has price 59542.
We can't load coffer hefts 30.3 and has price 242325.
Lorry with tonnage 3450.0 transports cargo with weight 3445.25 and assurance 9208,- Kc is paid.
|
|