我试图生成一个随机正8位整数.ThreadLocalRandom.current().nextInt(min,max)的文档明确指出min是最小包含边界,max是最大独占边界.但是,如果我将max设置为大于128的任何值,我偶尔会得到一个负值.
这似乎与整数的位相关联,但文档没有说明nextInt()的位.我真的需要尽可能多的正8位数字.当我只指定(1,255)的正范围时,为什么nextInt()返回负值?
byte aa = 1;
do {
aa = (byte) ThreadLocalRandom.current().nextInt(1, 128);
} while (aa > 0);
System.out.println(aa);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
959 次 |
最近记录: |