Link do GitHub

Zad1:

Korzystając ze środków refleksji napisać prosty kalkulator dla liczb typu BigDecimal.
Obliczenia mają być podawane jako argumenty wiersza poleceń w postaci:

liczba1 op liczba2

gdzie op to jeden ze znaków +,- (minus), * (mnożenie), / (dzielenie), a  pomiędzy liczba1, op i liczba2 występuje jeden lub więcej białych znaków.

Obliczenia zrealizować w klasie Calc jako metodę String doCalc(String cmd), zwracającą  napisową reprezentację wyniku (uzyskanej liczby) lub napis "Invalid command to calc", jeśli wystąpią jakiekolwiek błędy.

 

Zad2:

Korzystając ze środków JavaBeans stworzyć i przetestować:

* klasę - ziarno Account, reprezentującą obiekty - konta bankowe. Każde konto ma aktualny stan balance (double) oraz dostępne są operacje: wpłata deposit(double), wypłata withdraw(double), przelew na inne konto transfer(Account, double). Właściwość balance jest związana (bounded) i ograniczana (constrained).

* klasę AccountChange, odpowiadającą za reakcje na zmiany właściwości ziarna, za pomocą której obniżenie stanu konta poniżej 0 (zera) jest automatycznie raportowane, np. poprzez wyświetlenie odpowiedniej informacji na konsolę.

* (w przypadku posiadania limitu debetu) klasę AccountLimitator, odpowiadającą za wetowanie niedopuszczalnych zmian właściwości ziarna,  za pomocą której wszystkie operacje powodujące obniżenie stanu konta poniżej limitu debetu są automatycznie odrzucane. Limit debetu to kwota nie-dodatnia oznaczająca minimalny, akceptowalny stan konta po wykonaniu jakiejś operacji.