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.

Odevzdávejte původní, implementované třídy v balíčku cz.cvut.fel.pjv.impl; jiné nahrané soubory nebudou kontrolovány, a proto je neupravujte!

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 použijte předpřipravený interface StatsInterface, a jeho implementaci Stats; tu následně budete používat ve třídě Lab02. Držte se poskytnuté dokumentace a následujících požadavků:

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 pro soubory z veřejných datasetů (které se nachází v templatu ve složce test/resources). 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:

Vstup Standardní výstup Standardní chybový výstup
23
3
1
3
4
5 6.800 8.158
End of input detected!
8
1
3
not a number
6
7
8
6 5.500 2.630
A number has not been parsed from line 4
End of input detected!
2
185
145
2
65
-7
14
84
15
not a number
152
10 65.700 68.519 A number has not been parsed from line 10
End of input detected!

V termínálu můžete přesměrovat soubor do standardního vstupu pomocí znaku <, tedy např. java -cp target/hw2-1.0-SNAPSHOT.jar cz.cvut.fel.pjv.Main < src/test/resources/cz/cvut/fel/pjv/_public_1.txt.

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!

Spuštění jar souboru bez manifestu z příkazové řádky:
java -cp ./soubor.jar cz.cvut.fel.pjv.Main