Chcę wygenerować losową liczbę typu short dokładnie tak, jak jest funkcja dla typu całkowitego o nazwie Random.nextInt (134116). Jak mogę to osiągnąć?wygenerować krótką liczbę losową w java?
Odpowiedz
Nie ma Random.nextShort()
metoda, więc można używać
short s = (short) Random.nextInt(Short.MAX_VALUE + 1);
+1 dlatego metoda zwraca liczbę w górę do liczby określonej (Exclusive). Zobacz here
To wygeneruje cyfr od 0 do włącznie Short.MAX_VALUE (liczb ujemnych nie były postulowane przez OP)
I potrzebna jest gips. –
dzięki @juergend, mam aktualizację odpowiedź – luketorjussen
Ale jeśli dodasz 1, nie będziesz w stanie wygenerować 0? – Tudor
Co powiecie na short s = (short) Random.nextInt();
? Zauważ, że wynikowa dystrybucja może mieć odchylenie. Specyfikacja języka Java gwarantuje, że nie spowoduje to wyjątku, int zostanie skrócone, aby zmieścić się w skrócie.
EDIT
rzeczywiście robi szybki test, uzyskany podział wydaje się być zbyt równomiernie rozłożone.
co jeśli wygenerowana liczba jest większa niż krótka? – luketorjussen
tylko ostatnie cztery bity zostaną zachowane, ale nie spowoduje to przepełnienia. – assylias
, ale czy zmieni to precyzyjnie dostrojoną jednolitość generowanych liczb losowych? –
spodenki Java są zawarte w -32 → +32 767 768 przedziale.
dlaczego nie chcesz wykonać
Random.nextInt(65536) - 32768
i oddanych wynik w krótkiej zmiennej ?
+1 - Właśnie chciałem napisać dokładnie to. – Deco
Zgaduję i napisałem to dla ciebie, aby przedłużyć żywotność klawiatury. –
Wystarczy wygenerować int odczuwalna:
short s = (short)Random.nextInt(Short.MAX_VALUE);
Wygenerowany int
będzie w przestrzeni wartości short
, dzięki czemu może być oddane bez utraty danych.
Spowoduje to wygenerowanie nieujemnych krótkich wartości, z wyjątkiem Short.MAX_VALUE –
Najbardziej wydajnym rozwiązaniem, które może wytworzyć wszystkie możliwe krótkie wartości, jest wykonanie.
short s = (short) random.nextInt(1 << 16); // any short
short s = (short) random.nextInt(1 << 15); // any non-negative short
lub nawet szybciej
class MyRandom extends Random {
public short nextShort() {
return (short) next(16); // give me just 16 bits.
}
public short nextNonNegativeShort() {
return (short) next(15); // give me just 15 bits.
}
}
short s = myRandom.nextShort();
Dobrze zrobione. – assylias
- 1. Jak wygenerować "dużą" liczbę losową w Pythonie?
- 2. Jak wygenerować losową liczbę w eliksiru?
- 3. wygenerować losową 64-bitową liczbę całkowitą
- 4. java- jak wygenerować losową wartość szesnastkową w określonym zakresie wartości
- 5. Jak wygenerować losową unikalną liczbę w PostgreSQL za pomocą funkcji
- 6. Jak wygenerować losową liczbę typu float w C
- 7. Jak wygenerować ujemną wartość losową w python
- 8. Jak wygenerować losową liczbę przy użyciu stanu funkcjonalnego?
- 9. jak wygenerować liczbę losową od 0,5 do 1,0
- 10. wybrać losową liczbę losową liczbę razy, ale nigdy taką samą liczbę losową dwukrotnie
- 11. Zdobądź losową liczbę całkowitą w przedziale (X, Y]
- 12. SSE: przekonwertuj krótką liczbę całkowitą na zmienną
- 13. Jak uzyskać liczbę losową w FactoryGirl?
- 14. Jak uzyskać losową liczbę w zestawie szablonów?
- 15. jak wygenerować liczbę całkowitą losową w fortranie 90 w zakresie [0,5]?
- 16. Jak wygenerować powtarzalną losową sekwencję liczb?
- 17. Jak wygenerować liczbę losową danej liczby dziesiętnej między liczbą 2 w Pythonie?
- 18. Jak wygenerować losową 64-bitową liczbę całkowitą bez znaku w C
- 19. Jak wygenerować losową liczbę bez powtórzeń w bazie danych za pomocą PHP?
- 20. Jak wygenerować losową liczbę z 8 cyframi w C#? (4 całkowitą, 4 część ułamkową)
- 21. Jak uzyskać losową liczbę z hałasu atmosferycznego?
- 22. Jak przypisać losową liczbę do zmiennej?
- 23. Jak wygenerować losową formułę zdaniową (CNF) w haskell?
- 24. W PHP, w jaki sposób mogę wygenerować dużą liczbę pseudolosową?
- 25. Jak mogę uzyskać losową liczbę w Rust 1.0?
- 26. Oblicz statyczną liczbę losową (oblicz ją raz) w Excelu
- 27. Jak utworzyć losową 256-bitową liczbę całkowitą w Dart?
- 28. Jak utworzyć losową liczbę po logormalnej dystrybucji w programie excel?
- 29. R-Jak wygenerować losową próbkę dyskretnych zmiennych losowych?
- 30. Jak wygenerować losową mapę 2D dla zamku lub budynku?
potrzebujesz liczb ujemnych? – luketorjussen
no let Nie potrzebuję negatywów tylko od 0 do max krótkich – waqas