눈덩이를 페인트 볼로 취급하는 Bukkit 플러그인을 쓰고 있습니다. 실수로 사용했을 때Random.nextInt (16)가 제대로 작동하는 동안 Random.nextInt() % 16이 왜곡됩니까?
(byte) (random.nextInt() % 16)
대신
(byte) (random.nextInt(16))
의 나는 낮은 숫자가 높은 숫자보다 더 많은 방법을 나타난 것으로 나타났습니다. 왜 그런 일이 일어날까요? 전 :
00010
01200
06001
30010
00502
예 : 후 :
예
74108
73447
98956
17386
26574
코드가 사용자의 출력과 어떤 관련이 있는지는 명확하지 않습니다. 문제를 나타내는 [mcve]를 제공 할 수 있습니까? –
어떤 연구를 수행 했습니까? 분포가 어떻게 발생하는지 히스토그램을 만들었습니까? 그것은 당신의 기대에 부합 했습니까? 행동을 설명하기 위해 어떤 가설을 세웠습니까? 바이트 캐스트가 관련 있다고 생각하십니까? 스택 오버플로는 "궁금한 점이 있습니다 - 물어 봅시다"가 아닌 최후의 수단이되어야합니다. –
표시되는 숫자는 0-15 범위의 정수를 반환하기 때문에 어느 표현식에서도 올 수 없습니다. –