Losowanie liczb - random

0

Witam,
Otóż mam takie pytanie:
n razy losuję liczby z przedziału (0,3), chcę aby każda z tych liczb wystąpiła tyle samo razy czyli n/4 (rozkład równomierny) i teraz moje pytanie jak to poprawnie zapisać?

Mam na razie coś takiego:

Random losowanie = new Random();
int i = losowanie.nextInt(3)+0;

i nie za bardzo wiem co dalej...

Za wszelkie wskazówki będę wdzięczny.

0
Random losowanie = new Random();
int n = TU SOBIE ZDEFINIUJ N;
for(int i=0; i<n; i++)
{
System.out.println(losowanie.nextInt(3));
}

W ten sposób sobie je wypiszesz, nie wiem co chcesz z nimi zrobić? A i nie da się zrobić tak, żeby funkcja random losowała idealnie do rozkładu równomiernego.

0

Wymagania losowości i równomierności są wzajemnie sprzeczne. Albo jedno, albo drugie.

0

Ewentualnie tak (liczb jest tyle samo, kolejność jest losowa:

ArrayList<Integer> liczby=new ArrayList<Integer>();
for(int i=0;i<n/4;i++)
{
   for(int j=0;j<4;j++)
   {
      liczby.add(j);
   }
}
Collections.shuffle(liczby);

1 użytkowników online, w tym zalogowanych: 0, gości: 1