当前位置:编程学习 > JAVA >>

求一个简单编程问题

程序基本功测试。你所熟悉的编程语言是什么?  并请用此语言编写如下函数, 采用自己的算法, 不要使用 printf, )sprintf, Format, toString, itoa, toHex, 等函数。
函数名称 TQ_GetHexStringEx
参数
整数 iNumber   
整数 iCount
返回值
                          字符串类型
                  函数描述
                          获得表示iNumber十六进制字符串,宽度不足iCount 时,前面补0。
举例
TQ_GetHexStringEx(12,2);   返回  “0C”
TQ_GetHexStringEx(12,8);   返回  “000000C”
--------------------编程问答--------------------

public static String TQ_GetHexStringEx(int number,int count)
{
char[] c=new char[8];
char[] result=null;
byte b;
for(int i=0;i<c.length;i++) //把每4位变成ascii码值,存入char数组
{
b=(byte)(number>>(28-i*4)&0xf); //每次循环,移位的多少不一样。只取4位。
if(b>=0&&b<=9)
{
c[i]=(char)('0'+b);
}
else
{
c[i]=(char)('A'+b-10);
}
}
if(count<=c.length)
{
result=new char[count];
for(int i=0;i<count;i++)
{
result[i]=c[c.length-count+i];
}
}
else
{
result=new char[count];
for(int i=0;i<count-c.length;i++)
{
result[i]='0';
}
for(int i=0;i<c.length;i++)
{
result[count-c.length+i]=c[i];
}
}
String s=new String(result);
return s;
}
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,