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.
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čítany 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
a zajistěte, že bude tato metoda volána po spuštění programu bez argumentu nebo v případě uvedení prvního argumentu jiného než 1, 2, 3 nebo 4.
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
Rada - spusteni jar souboru bez manifestu z prikazove radky:
java -cp ./soubor.jar cz.cvut.fel.pjv.Main