黑马程序员技术交流社区
标题:
StingBuffer存贮10转16
[打印本页]
作者:
戒爱
时间:
2014-2-8 00:15
标题:
StingBuffer存贮10转16
本帖最后由 戒爱 于 2014-2-8 13:22 编辑
StingBuffer存贮10转16的过程中 0 12 3
以反过来怎么就成3 21 0了呢,StringBuffer是把12拆开存储的吗?
------------------补加代码-------------------
public static void toHe(int x) {
StringBuffer sb = new StringBuffer();
while(x>15) {
sb.append(x&15);
x = x >>> 4;
}
for(int i=0;i<8;i++) {
int n = x&15;
sb.append((int)n);
x = x >>> 4;
}
System.out.print(sb.reverse());
}
---------------------------------------------
作者:
♫梦想起航♫
时间:
2014-2-8 04:25
不好意思,没懂你的意思,还是上代码容易看懂些.
作者:
戒爱
时间:
2014-2-8 13:28
♫梦想起航♫ 发表于 2014-2-8 04:25
不好意思,没懂你的意思,还是上代码容易看懂些.
我加上代码了,在使用char[]作为临时存贮后,我试着使用StringBuffer,我需要60转后的结果是----0312可是结果打印出来是:------0321
作者:
e.c
时间:
2014-2-8 14:07
是拆开存的
十六进制10-15用a-f表示
作者:
周昭民
时间:
2014-2-8 15:00
while(x>15) {
if((x&15)>9)
sb.append((char)(((x&15)-10)+'a'));
else
sb.append(x&15);
x = x >>> 4;
}
复制代码
中间改成这样吧,你用toString()方法打印出反转前的结果就知道了,
sb.toString() 打印反转前的结果为1230000000
sb.reverse() 打印反转后的结果为0000000321
只要你在反转前把12转为十六进制的形式,结果就没错了 00000003c
作者:
张志明
时间:
2014-2-8 21:24
StringBuffer是拆开存的
作者:
廉伟杰
时间:
2014-2-8 21:50
分开存的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2