帮贴不了,可能是那个$引起的
不太懂,
String类有个charAt();方法

解决方案 »

  1.   

    class Test {
    public static String decode(String str){
    int f = 0;
    int flag = 0;
    StringBuffer path = new StringBuffer();
    for(int i=0;i<str.length();i++){
    int code = str.charAt(i);
    if(code != 35){
    if(f!=0 && f==i-1){
    path.append((char)code);
    }
    else{
    code = code - flag;
    path.append((char)code);
    }
    flag++;
    }
    else{
    f = i;
    }
    }
    return path.toString();
    }
    public static void main(String args[]){
    System.out.println(decode("#abcd"));
    }
    }
      

  2.   

    原帖,CSDN过滤**功,你原来地方的缩写就是那个,我改成flag了
    不知道功能,所以楼上的没测试
    function wy_decode($str)
    {
        var $str = new String($str);
        var $real_path = "";
        var $f = 0;
        var $flag = 0;
        for (var $i=0; $i<$str.length; $i++)
        {
            $code = $str.charCodeAt($i);
            if ($code != 35)
            {
                if ($f != 0 && $f == $i - 1)
                {
                    $real_path += $str.charAt($i);
                }
                else
                {                $code = $code - $flag;
                    $real_path += String.fromCharCode($code);
                }
                $flag ++;
            }
            else
            {
                $f = $i;
            }
        }
        return $real_path;
    }