java.util.Random random=new Random();
String str=String.format("0x%02x",random.nextInt(256));
我用这个循环4次得出4个16进制数,我现在想把这4个转换为一个String类型的字符串,怎么搞?求指教
String str=String.format("0x%02x",random.nextInt(256));
我用这个循环4次得出4个16进制数,我现在想把这4个转换为一个String类型的字符串,怎么搞?求指教
2,4个str要拼在一起吗?+号连接 ,StringBuffer也可以(减少临时变量)
有点明白你的意思了,应该要的是32位长的二进制数的16进制表示形式。
可以直接生成 0--2^32的随机数,然后再Double.Double.toHexString()结果应该和上面的4个直接拼起来是一样的, 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);
java.util.Random random=new Random();
String str=String.format("0x%02x",random.nextInt(256));
//System.out.println(str);
int codePoint = Integer.parseInt(str.substring(2), 16);
char[] c= Character.toChars(codePoint);
for(int a=0;a<c.length;a++){
System.out.println(c[a]);
}
}
我今天早上一来,灵光一现,自己实现了我想要的~~~谢谢大家了