just_style 2011-11-18 11:14
浏览 210
已采纳

求一字符转化的算法

问题大致是这样的,把当前的时间毫秒数转化成一个7个字符的字符串,与时间一一对应的,此字符串包括数字和字母,最好是一种可逆的算法。。

  • 写回答

7条回答 默认 最新

  • xgl360876113 2011-11-18 16:48
    关注

    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'
    };

    private static String to62String(long i, int radix) {
    if (radix < Character.MIN_RADIX || radix > 62)
    radix = 10;
    if (radix == 10)
    return String.valueOf(i);
    char[] buf = new char[65];
    int charPos = 64;
    boolean negative = (i < 0);
    if (!negative) {
    i = -i;
    }
    while (i <= -radix) {
    buf[charPos--] = digits[(int)(-(i % radix))];
    i = i / radix;
    }
    buf[charPos] = digits[(int)(-i)];
    if (negative) {
    buf[--charPos] = '-';
    }
    return new String(buf, charPos, (65 - charPos));
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题