java.util.Random random=new Random();
String str=String.format("0x%02x",random.nextInt(256));
我用这个循环4次得出4个16进制数,我现在想把这4个转换为一个String类型的字符串,怎么搞?求指教还被点名了。。
有点明白你的意思了,应该要的是32位长的二进制数的16进制表示形式。
可以直接生成 0--2^32的随机数,然后再Double.Double.toHexString()
结果应该和上面的4个直接拼起来是一样的,
1.问题说的不是很清楚啊,你得出的str不就是String类型的吗
Random random=new Random();
String str=
String.format("%02x",random.nextInt(256))+//256=2^8 4*8=32
String.format("%02x",random.nextInt(256))+
String.format("%02x",random.nextInt(256))+
String.format("%02x",random.nextInt(256));
System.out.println(str);
//同理x
String str2=
String.format("%04x",random.nextInt(65536))+//65536=2^16 16*2=32
String.format("%04x",random.nextInt(65536));
System.out.println(str2);
String str3=String.format("%08x",random.nextLong()&(4294967296l-1));//4294967296=2^32
System.out.println(str3);
2,4个str要拼在一起吗?+号连接 ,StringBuffer也可以(减少临时变量)