Cvičenie 13 — Výnimky, maven a iné
Cieľom cvičení je precvičiť si vlastné výnimky a buildovanie aplikácie.
Aplikácia A
- S využitím archetypu
jpaz2-archetype-launchervytvorte nový maven projekt. Nastavte Group Id:sk.upjs.paza Artifact Id:average-calculator. - Vytvorte triedu
sk.upjs.paz.Utils, ktorá bude obsahovať:- statickú metódu
double average(List<Double> zoznam), ktorá vráti priemer čísel v zozname (triedaListtakú metódu nemá). Metóda vyhodí nekontrolovanú výnimkusk.upjs.paz.EmptyListExceptionkeď príde null alebo prázdny zoznam. - statickú metódu
List<Double> parseNumbers(String[] array), ktorá prekonvertuje každý prvok poľa na číslo a vráti zoznam prekonvertovaných hodnôt. Metóda vyhodí kontrolovanú výnimkusk.upjs.paz.ParseFailedExceptionv prípade, že niektorý z prvkov poľa sa nepodarilo skonvertovať. Na konverziu použite metódu statickú metóduparseDoubletriedyDouble. - Bonus: Vo vyhodenej výnimke pribaľte aj zoznam neskonvertovateľných hodnôt zo vstupného poľa. V testovacej metóde túto výnimku odchyťte a vypíšte slová, ktoré sa nepodarilo skonvertovať.
- statickú metódu
- Vytvorte testovaciu triedu (
Launcher), v ktorej v statickej metódemainvhodne demonštrujete funkčnosť metód triedysk.upjs.paz.Utils. - Pridajte JavaDoc komentáre do triedy
sk.upjs.paz.Utilsa vygenerujte dokumentáciu.- v IntelliJ IDEA: Tools -> Generate JavaDoc…
- výstupný adresár si zvoľte ľubovoľne (napr. priečinok
docv adresári projektu).
- Upravte metódu
maintak, aby sa vstup nezapisoval priamo do kódu, ale aby sa využilo poleString[] args. - Otestovanie v IntelliJ IDEA: Kliknúť na Launcher.java -> Edit Configurations… -> Program Arguments
- Prezrite si slajdy z prednášky o buildovaní.
- S využitím Maven-a vytvorte spustiteľný
.jarsúbor.- Kliknutím na maven ponuku a vybraním package z lifecycle ponuky.
- Vo výpise si nájdite cestu k spustiteľnému súboru.
- Spustite aplikáciu v príkazovom riadku
- Otvorte si príkazový riadok – na windowse v ponuke štart CMD (klávesová skratka CTRL+R)
- Overte si správne nainštalovanie a nastavenie javy pomocou príkazu
java -version. Ak vypíše číslo verzie a ďalšie informácie (asi 3 riadky), je to ok. Ak nie, je väčšinou potrebné nastaviť systémovú premennú JAVA_HOME k priečinku, kde je uložené JDK. Detailný postup sa dá vyhľadať. - Príkaz
dirvypíše obsah aktuálneho adresára - Príkaz
cd C:\\User\student\workspacenastaví príslušný aktuálny adresár ako aktuálny - Spustite jar súbor:
java -jar average-calculator.jar 2 3 4. Vyskúšajte rôzne vstupy, aj nečíselné.
Aplikácia B
- S využitím archetypu
maven-archetype-quickstartvytvorte nový maven projekt. Nastavte Group Id:sk.upjs.paza Artifact Id:math-helper. - Porovnajte pom.xml v tomto projekte s predošlým projektom. Inšpirujúc sa pom.xml projektov vytvorených archetypmi pre JPAZ, nastavte:
kompilátor na verziu 1.8upravte buildovanie tak, aby sa vytvorilo spustiteľné jar-ko so spúšťacou triedouApp- pridajte knižnicu
apache-commons-mathako závislosť. Group Id a Artifact Id nájdete tu: https://mvnrepository.com/artifact/org.apache.commons/commons-math3/3.6.1
- Vytvorte jednoduché menu, ktoré ponúkne používateľovi niekoľko možností na výber po zadaní čísla (napr. ak chcete vypočítať faktoriál, stlačte 1). Môžete využiť
Scanner(System.in)aswitchna spracovanie jednotlivých volieb. - Bonus: Vložte menu do cyklu. Aplikácia nech sa ukončí, až keď používateľ zadá napr. 0.
- Vytvorte pre jednotlivé voľby v menu príslušný obslužný kód využívajúci metódy, ktoré ponúka knižnica apache-commons-math. Odporúčame napríklad niektorú z tried ArithmeticUtils, CombinatoricsUtils, MathUtils, FastMath.
- Vybuildujte spustiteľný jar súbor a funkčnosť aplikácie overte cez príkazový riadok.
