Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中生成随机16位数字_Java - Fatal编程技术网

在java中生成随机16位数字

在java中生成随机16位数字,java,Java,我试图用java生成一个随机的16位数字。我知道如何为给定范围生成随机数。有谁能帮我生成一个16位的随机数吗 您可以调用Random类在Short.MAX_VALUE范围内生成随机数,该范围约为0-65535。通过添加Short.MAX\u值和Short.MIN\u值 示例: new Random().nextInt(1 + Short.MAX_VALUE - Short.MIN_VALUE); 16位数字是一个具有16位数字的二进制数。因此,它将在范围内 0000 0000 0000 000

我试图用java生成一个随机的16位数字。我知道如何为给定范围生成随机数。有谁能帮我生成一个16位的随机数吗

您可以调用Random类在
Short.MAX_VALUE
范围内生成随机数,该范围约为
0-65535
。通过添加
Short.MAX\u值
Short.MIN\u值

示例:

new Random().nextInt(1 + Short.MAX_VALUE - Short.MIN_VALUE);

16位数字是一个具有
16位
数字的二进制数。因此,它将在范围内

0000 0000 0000 0000 = 0
1111 1111 1111 1111 = 65535 (2^16-1)
因此,您可以:

Random r = new Random();
r.nextInt(65536); // 65536 will not be considered, return integer in range [0,65535]
据英国《每日邮报》报道

返回一个伪随机的、均匀分布的int值,该值介于0(包括)和指定值(排除)


你试过四处看看吗?你发现了什么?如果你知道数字是16位,你可以很容易地计算出范围…生成一个随机数并屏蔽其中的16位嘿,它起作用了;-)如果“范围”是指数值范围:你是指
random.nextInt(1)吗?这是不对的。首先,
nextInt()
的上限是独占的。此外,
Short.MAX\u值实际上是。@user3580294 Short-min是32768,Short-MAX是32767这是真的,但是
nextInt()
的上限是独占的。因此您的方法实际上永远不会返回65535。此外,您忘记了一个右括号。我想您的意思是
1+Short.MAX\u VALUE-Short.MIN\u VALUE
或是
1@PeterLawrey相同的结果。对于您的第一个示例。