首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

16进制与字符串有关问题,gukuitian在么?高手求指教

2013-01-06 
16进制与字符串问题,gukuitian在么?高手求指教java.util.Random randomnew Random()String strString.f

16进制与字符串问题,gukuitian在么?高手求指教
java.util.Random random=new Random();
String str=String.format("0x%02x",random.nextInt(256));
我用这个循环4次得出4个16进制数,我现在想把这4个转换为一个String类型的字符串,怎么搞?求指教
[解决办法]
1.问题说的不是很清楚啊,你得出的str不就是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);

热点排行