黑马程序员技术交流社区

标题: 请大家帮我分析下下面的代码 [打印本页]

作者: 于文露    时间: 2011-9-28 17:29
标题: 请大家帮我分析下下面的代码
:o class  ArrayTest
{
        public static void main(String[] args)
        {
                //toBin(6);
                toHex(60);
        }
        /*
          十进制转换为十六进制
        */
        public static void toHex(int num)
        {
                StringBuffer sb=new StringBuffer();
                while(num>0)
                {
                        int temp=num&15;
                        if(temp>9)
                                //System.out.println((char)(temp-10+'A'));
                                sb.append((char)(temp=10+'A'));
                        else
                                //System.out.println(temp);
                                sb.append(temp);
                        num = num >>> 4;
                }
                System.out.println(sb.reverse());
        }
}
为什么我的机器运行结果是3k而不是3c呢:o
作者: 匿名    时间: 2011-9-28 18:09
sb.append((char)(temp=10+'A'));  

应该是sb.append((char)(temp-10+'A'));

是减号
作者: 匿名    时间: 2011-9-28 18:14
请问LZ ,temp=10+'A' 这句话明白么,这是关键核心




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2