Template domácího úkolu
ke stažení zde. Ke kontrole vstupů použijte funkce z třídy TextIO.
21.3.2018: Zamyslete se nad tím, že délka posloupnosti není omezená a není tedy vhodné vstupní data ukládat do paměti.
Úkoly:
Napište program, který vypočte průměrnou hodnotu a směrodatnou odchylku z posloupnosti čísel zadaných na standardní vstup. Při implementaci se inspirujte příkladem přesměrování standardního vstupu ze souboru. Testovací soubor obsahuje na každém řádku jedno číslo (nebo nečíselnou hodnotu, viz dále).
Rozšiřte tento program pro výpočet statistiky (průměr a odchylka) z každých 10 vstupních čísel. Tyto dvě hodnoty vypište na jeden řádek standardního výstupu na tři desetinná místa a čísla oddělte mezerou, tj. formátování “%.3f %.3f
”.
Na začátek řádku vypište počet hodnot, ze kterých jsou průměr a odchylka vypočteny na dvě místa, tj. formátování “%2d
”.
Při detekci konce vstupního souboru vypište dílčí výsledek z příslušného počtu hodnot, ale pouze pokud je počet hodnot použitých k výpočtu vyšší než 1.
Rozlište mezi výstupem na standardní výstup a na standardní chybový výstup. Program implementujte jako část třídy Lab02 v metodě pojmenované homework
.
Detekci konce vstupu indikujte výpisem 'End of input detected!' na standardní chybový výstup.
Odevzdávejte soubory Lab02.java
, Start.java
a TextIO.java
.
V případě, že na řádku není detekováno číslo, program řádek přeskočí a pokračuje ve čtení vstupu do konce souboru. Tuto situace indikujte výpisem na standardní chybový výstup s uvedením čísla řádku, na kterém k této události došlo.
--- Ukázka výstupu standardního a standardního chybového výstupu
java -jar dist/lab02.jar <long_input.txt
A number has not been parsed from line 6
10 41,900 28,027
10 54,700 20,303
10 53,100 23,015
10 48,100 23,369
10 55,300 31,947
10 51,800 18,936
10 53,800 23,849
10 38,500 30,434
A number has not been parsed from line 86
10 41,200 29,570
End of input detected!
8 43,500 30,765
Dbejte prosím na formátování výstupu - především poslední řádek by měl být zarovnaný správně (viz. vzor)
Rada - spusteni jar souboru bez manifestu z prikazove radky:
java -cp ./soubor.jar cz.cvut.fel.pjv.Main