Lab02 - Výpočet statistiky číselné posloupnosti

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).

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.
Pro výpočet směrodatné odchylky lze použít průměrnou hodnotu a průměr z mocniny sledované veličiny viz http://en.wikipedia.org/wiki/Standard_deviation.

Ukázka výstupu standardního a chybového výstupu po zpracování souboru test_input.txt. Dbejte prosím na formátování výstupu: každý - i ten poslední - řádek by měl být zarovnaný správně a ukončen znakem nového řádku (viz. ukázka).

java -jar dist/lab02.jar <long_input.txt
A number has not been parsed from line 6
10 53,500 23,851
10 56,000 26,446
10 34,400 19,184
10 53,900 26,121
10 63,400 32,116
10 58,200 28,071
10 65,800 32,508
10 44,200 24,891
A number has not been parsed from line 86
10 53,400 29,063
End of input detected!
 8 39,875 23,235

Tato ukázka využívá přesměrování textového suouboru do System.in, t.j. Váš program bude číst vstupy způsobenm, jako kdyby je zadával uživatel z klávesnice. Zajistí to znak přesměrování: <.

Alternativní způsoby přesměrování obsahu souboru na standardní vstup:

IntelliJ Idea

Netbeans

Pro účely testování přidejte do metody main kód:

public static void main(String[] args) throws FileNotFoundException {
  FileInputStream is = new FileInputStream(new File("C:\\TEMP\\long_input.txt"));
  System.setIn(is);
  //...

Před odevzdáním řešení do BRUTE tento kód pochopitelně odstraňte!

Rada - spusteni jar souboru bez manifestu z prikazove radky:
java -cp ./soubor.jar cz.cvut.fel.pjv.Main