Pokazywanie postów oznaczonych etykietą Java. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Java. Pokaż wszystkie posty

środa, 8 kwietnia 2015

Generator liczb losowych: rozkład Poissona

Niedawno pisałem o rzeczywistym przykładzie rozkładu Poissona. Dzisiaj chciałbym napisać o tym, w jaki sposób generować programowo liczby losowe o takim rozkładzie.

Na matematyce nie znam się zbyt dobrze, a na kombinatoryce i prawdopodobieństwie prawie w ogóle(*) - z tego powodu nie byłem w stanie wymyślić odpowiedniego algorytmu samemu. Postanowiłem więc poszukać odpowiedniego w internecie. Ale szczerze mówiąc nawet gdybym był w stanie coś samemu wymyślić i tak szukałbym gotowego rozwiązania, ponieważ zdolność do szukania gotowych rozwiązań to jedna z cnót programisty (mówię poważnie).

(*) - Ostatnio jednak poczytałem co nieco o tym rozkładzie i to, co zrozumiałem chciałbym przedstawić kiedyś indziej.

Ten artykuł nie będzie więc zbyt twórczy, ale to nawet lepiej . Przedstawię tu tylko gotowe implementacje w Javie kilku funkcji, które znalazłem na stronie Wikipedii.

piątek, 8 marca 2013

Obsługa plików w Javie

Obsługa plików w Javie jest wg. mnie rozwiązana trochę dziwnie. Ale ja programowałem głównie w C++ (w innych językach również, ale bez grzebania się w plikach), więc może się czepiam.

Tak czy siak, muszę się tego nauczyć i zanim wejdzie mi to w krew, postanowiłem sobie to zapisać.

Po pierwsze, z jakiegoś jeszcze dla mnie niejasnego powodu, operacje na plikach muszą zawierać się w bloku try-catch:

try {
    //operacje na plikach
}
//można użyć bardziej specyficznego kodu
//w szczególności przechwytywać konkretne wyjątki
//to jest tylko tak orientacyjnie
catch(Exception e) {
    e.printStackTrace();
}

Następnie musimy otworzyć jakiś plik. Ogólna rada jest taka:

FileReader / FileWriter - dla plików tekstowych

FileInputStream / FileOutputStream - dla innych (binarnych, z niestandardowym kodowaniem...)