Písemka číslo 1

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.

Vzhledem k tomu, že se jedná o písemku, metody nemusíte dokumentovat pomocí JavaDoc komentářů.