Seminář 3 (Úkoly)
Úkol č.1
Upravte úkoly z prvního semináře tak, aby:
- každý úkol byl v samostatné (statické) metodě,
- místo proměnných byly použity argumenty metod,
- úkol č. 3 prvočísla nevypisoval, ale vracel pole celých čísel,
- úkol č. 4 používal třídu
StringBuilder.
Úkol č. 2
Napište statickou metodu void printInts(int[] numbers), která vypíše obsah pole na výstup.
Úkol č. 3
Napište statickou metodu String intsToString(int[] numbers), která převede pole celých čísel na řetězec.
Úkol č. 4
Vytvořte statickou metodu average, která akceptuje libovolný počet čísel typu double a vrací jejich průměr. Pokud je zadaný počet hodnot nulový, bude vracet hodnotu Double.NaN (not a number), což je speciální "hodnota" signalizující, že výsledek nelze vyjádřit.
Úkol č. 5
Implementujte statickou metodu String repeatChar1(char c, int n), která vytvoří řetezec skládající se z n znaků c s použitím konkatenace řetězců (tj. s += c). Implementujte metodu String repeatChar2(char c, int n), která se bude chovat identicky jako metoda repeatChar1, ale bude používat StringBuilder. Změřte rychlost obou metod (s využitím System.currentTimeMillis) při vytváření řetězce o velikosti 100000 znaků. Z výsledků si vemte morální ponaučení!