java-如何在指定的值范围内生成随机十六进制值
问题内容:
我在Java Web应用程序中有一个场景,必须生成一个随机的十六进制值。此值应在我指定的值范围内。(值的范围可以是十六进制或整数值)。
最有效的方法是什么?>我必须生成一个随机的十进制数,然后将其转换为十六进制吗?还是可以直接生成一个值?
问题答案:
是的,您只需生成一个范围内的十进制值。如:
Random rand = new Random();
int myRandomNumber = rand.nextInt(0x10) + 0x10; // Generates a random number between 0x10 and 0x20
System.out.printf("%x\n",myRandomNumber); // Prints it in hex, such as "0x14"
// or....
String result = Integer.toHexString(myRandomNumber); // Random hex number in result
十六进制和十进制数字在Java中的处理方式相同(作为整数),只是显示或输入方式不同。(有关更多信息。)