Seminář 7 (Úkoly)
Úkol č. 1
Se znalostmi, které jste doposud získali, naprogramujte Matrix, třídu, která bude reprezentovat matice čísel typu double.
- Třída bude mít jeden konstruktor
Matrix (double[][] values). Kdevaluespředstavuje dvourozměrné pole, které je uloženo jako pole polí. Obecně proto není garantované, že velikost polevalues[i]bude stejná jako velikost polevalues[j]. Pokud taková situace nastane, skončí konstruktor vyvoláním výjimkyjava.lang.IllegalArgumentException. - Třída
Matrixbude mít minimálně jednu metoduMatrix add(Matrix that), která vrátí novou matici odpovídají součtu aktuální matice (this) a matice předané v argumentu (that). Pokud nebudou souhlasit rozměry matic, je vyvolána výjimkaInvalidMatrixDimension.
Úkol č. 2
Napište metody, které uloží a načtou objekty třídy Matrix do/ze souboru, následujícími způsoby:
- jako textový formát dat, ve kterém jsou jednotlivé hodnoty odděleny mezerami a řádky znakem
'\n', - jako binární formát dat, ve kterém jsou uloženy nejdříve rozměry matice jako celá čísla, následně jednotlivé hodnoty,
- s využitím tříd
ObjectInputStreamaObjectOutputStream.