为啥回复中问号的数目都赶上提问中的问号数了呢,郁闷……数制多不是问题吧,时间里都用到60进制了。把问题再说得明白点,整数进行数制转换要加上参数radix,而当radix不在Character.MIN_RADIX和Character.MAX_RADIX的范围内(也就是2-32)时会发生异常。而且默认的36个数码表示是0..9a..z。现在的问题是,能否扩充并且自定义这个表示,比如把10定义成A而不是a,把59定义成x,诸如此类的。
解决方案 »
- 二维数组赋值问题异常
- JavaBean如何做访客统计?
- jsp出错了 好象是连接数据库的错误 请问是什么原因引起的 任何解决 谢谢~
- 如何获知局域网内的哪些机器是SQLSERVER数据库服务器
- 请问用java如何取得当前系统的光驱盘符?
- 如何给applet制作一个数字签名啊?(解决了马上结贴)
- 怎样把\u9996\u9875的汉字编码,转换为汉字输出!谢了
- 一个关于jtable放置在jscrollpane的问题?
- 用IE浏览有applet的网页,在屏幕右下角的系统托盘中会出现Java Console的图标,应该如何将它去掉?
- 我找不到JBuilder3.5(或4)的企业版下载点,请热心者帮帮忙!
- 我们的ie中是不是内嵌了java虚拟机的,它是什么公司的什么版本的
- 关于用Java编写游戏修改器的问题!
public static void main(String[] arg)
{
System.out.println(toUnsignedString(65535,8));
System.out.println(toUnsignedString(65535,32));
System.out.println(toUnsignedString(65535,33));
}
public static String toUnsignedString(int i,int radix)
{
String tmp = "";
do{
int lf = 0;
if(i<radix)
{
tmp = digits[i] + tmp;
break;
}
lf = i%radix;
tmp = digits[lf] + tmp;
i = i/radix;
}while(i!=0);
return tmp;
}
final static char[] digits = {
'0' , '1' , '2' , '3' , '4' , '5' ,
'6' , '7' , '8' , '9' , 'a' , 'b' ,
'c' , 'd' , 'e' , 'f' , 'g' , 'h' ,
'i' , 'j' , 'k' , 'l' , 'm' , 'n' ,
'o' , 'p' , 'q' , 'r' , 's' , 't' ,
'u' , 'v' , 'w' , 'x' , 'y' , 'z' ,
'A' , 'B' , 'C' , 'D' , 'E' , 'F' ,
'G' , 'H' , 'I' , 'J' , 'K' , 'L' ,
'M' , 'N' , 'O' , 'P' , 'Q' , 'R' ,
'S' , 'T' , 'U' , 'V' , 'W' , 'X' ,
'Y' , 'Z'
};