【发布时间】:2018-11-27 00:16:42
【问题描述】:
我在一个 Android 应用程序中有一个场景,其中必须生成一个随机的十六进制值,其中包含 6 位数字。 (取值范围可以是十六进制或整数值)。
最有效的方法是什么? 我是否必须生成一个随机的十进制数,然后将其转换为十六进制?要么 可以直接生成值吗?
【问题讨论】:
-
数字就是数字。只需在需要的范围内生成它们,并在显示它们时进行转换。
-
this的可能重复
-
结合How do I generate random integers within a specific range in Java? 与
Integer.toHexString(int) -
6 位十六进制数为 3 个字节。 3 个字节是 0..16777215 整数。只需生成该范围内的整数,然后将其显示为十六进制。
-
随机 rnd = new Random(); int n = rnd.nextInt(999999); Integer.valueOf(String.valueOf(n), 16);