Losowanie liczb bez powtórzeń

0

Witam!

Napisałem taką metodę do losowania

public int get()
{
   int i = (int) ((Math.random()) * size);
   i = liczby.get(i); //liczby to ArrayLista
   liczby.remove(i);
   this.size = liczby.size();
   return i;
}

i zwraca mi taki błąd:

Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 3, Size: 3

0

No i? Mamy Ci pogratulować czy co?

0

Bez uszczypliwości, proszę. P prostu chce znać powód tego błędu żeby można było to poprawić, bo prawdę powiedziawszy nie wiem co jest źle.

0

Powodem błędu jest wyjście poza zakres tablicy/listy czy co tam masz.

0

Problemem jest to że oszczędziłeś na zmiennych

public int get()
  {
   int p=(int)(Math.random()*liczby.size());
   int v=liczby.get(p);
   liczby.remove(p);
   return v;
  }

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