====== Lab01 - Kalkulačka ====== Template pro domácí úkol {{ :courses:b0b36pjv:hw:hw1_template.zip | ke stažení zde}}. Vytvořte jednoduchou kalkulačku. Program se postupně uživatele dotáže na operaci tak, že 1 odpovídá součtu, 2 rozdílu, 3 součinu a 4 podílu. Po volbě operace se program dotáže na dva operandy, které korektně označí podle zvolené operace - tj. pro součet se dotáže na sčítance, pro rozdíl na menšence a menšitele, pro součin na činitele a pro podíl na dělence a dělitele. Posledním vstupem programu je počet desetinných míst, která se použijí na tisk výsledku (nikoliv na samotný výpočet). Volba operace očekává celé číslo (1, 2, 3, 4). Operandy jsou reálná čísla. Počet desetinných míst je celé kladnénezáporné číslo. Program musí ošetřit případné dělení nulou, či volbu nepodporované operace. **Veškerý výstup vypisujte do stdout.** Formát výstupu je: "operand1 operátor operand2 = výsledek" Tak, že operandy i výsledek jsou formátovány na zadaný počet desetinných míst, a výstup je **ukončen znakem nového řádku**. Nezapomeňte, že po ukončení vašeho programu je třeba načítání vstupu řádně ukončit metodou ''close()'', jinak Vaše řešení nemusí v pořádku projít! Odevzdávejte zazipovaný soubor ''Lab01Impl.java'', který musí být v balíčku ''cz.cvut.fel.pjv.impl''. V případě, že nahrajete i jiné soubory, nebudou při kontrole brány v potaz! Na OS Windows s českou lokalizací je pro třídu ''Scanner'' u desetinných čísel defaultně nastavená desetinná čárka, nicméně v testovacích sadách najdete čísla s desetinnou tečkou. Máte dvě možnosti, buď si datové sady upravíte na desetinnou tečku anebo si nastavíte Scanner locale na US, viz. ukázka níže. scanner.useLocale(Locale.US); Pozn.: V brute se úkol vyhodnocuje v kontejneru na OS Linux a locale řešit nemusíte. Ten bude jednotný jak pro Vaše, tak referenční řešení. Jen nemusí sedět výpis Brute a výpis na Vašem počítači. Program implementujte jako metodu pojmenovanou ''homework''() a zajistěte, že bude tato metoda volána po spuštění programu. Dodržte prosím doporučené textové výpisy dle ukázek níže. Program bude automaticky zkontrolován v odevzdávacím systému. Za textem výběru operace není mezera, naopak za textem zadávání operandů mezera je. Např.: Vyber operaci (1-soucet, 2-rozdil, 3-soucin, 4-podil): Zadej scitanec:_ Zadej scitanec:_ Zadej pocet desetinnych mist:_ Zde znak podtržítka "_" reprezentuje mezeru. ==== Příklad komunikace programu ==== Vyber operaci (1-soucet, 2-rozdil, 3-soucin, 4-podil): 10 Chybna volba! Vyber operaci (1-soucet, 2-rozdil, 3-soucin, 4-podil): 1 Zadej scitanec: 10.1234 Zadej scitanec: 42 Zadej pocet desetinnych mist: 2 10.12 + 42.00 = 52.12 Vyber operaci (1-soucet, 2-rozdil, 3-soucin, 4-podil): 2 Zadej mensenec: 1.23456 Zadej mensitel: 12.345678 Zadej pocet desetinnych mist: 3 1.235 - 12.346 = -11.111 Vyber operaci (1-soucet, 2-rozdil, 3-soucin, 4-podil): 3 Zadej cinitel: 12.345678 Zadej cinitel: 1.23456 Zadej pocet desetinnych mist: 3 12.346 * 1.235 = 15.241 Vyber operaci (1-soucet, 2-rozdil, 3-soucin, 4-podil): 4 Zadej delenec: 10 Zadej delitel: 0 Pokus o deleni nulou! Vyber operaci (1-soucet, 2-rozdil, 3-soucin, 4-podil): 4 Zadej delenec: 10 Zadej delitel: 2 Zadej pocet desetinnych mist: 5 10.00000 / 2.00000 = 5.00000 Vyber operaci (1-soucet, 2-rozdil, 3-soucin, 4-podil): 1 Zadej scitanec: 10.234 Zadej scitanec: 1 Zadej pocet desetinnych mist: 0 10 + 1 = 11 Vyber operaci (1-soucet, 2-rozdil, 3-soucin, 4-podil): 1 Zadej scitanec: 10 Zadej scitanec: 20 Zadej pocet desetinnych mist: -1 Chyba - musi byt zadane kladne cislo!