użyć generatora Random w zakresie [1..x], gdzie x to podany przez użytkownika maksymalny zakres.
Generalnie tworzysz klasę kostka, w zalezności od potrzeb w konstruktorze podajesz lub nie jako paramter zakres, który przypisujesz potem do generatora, oraz metode losuj, która używa tego generatora, a jeżeli używasz jednego obiektu kostki to piszesz metodę zmieniającą zakres (właściwie to najlepiej podać w konstrukturze od razu i użyć w nim tej metody). I voila.
Łopatologicznie nie chce mi się tłumaczyć, bo nic nie zastąpi dyskusji w cztery oczy, a w javie nie piszę.
To będzie coś w stylu
-----------------------------------------
| Klas Kostka |
-----------------------------------------
| + Kostka(max_zakres=6, min_zakres=1) |
| + zmienZakres(max, min=1 |
| + losuj() |
-----------------------------------------
| - max_zakres |
| - min_zakres |
-----------------------------------------
Random używasz inicjując bezpośrednio metodzie losuj i tam również niszczysz, jeśli obiekt ma być tworzony raz, jeśli nie to unikaj tego, bo możesz mieć te same liczby losowane (tu warto używać generatory z dodatkowymi paramaterami losowymi).