为什么在codeeval.com上显示部分解决了

时间:2016-07-20 07:49:42

标签: java

这是什么问题:

static int hex(String s){
    String[] dd = s.split("");
    int d = 0;
    int r = dd.length;

    for(int b=0; b<r; b++){
        dd[b] = dd[b].replace("a","10");
        dd[b] = dd[b].replace("b","11");
        dd[b] = dd[b].replace("c","12");
        dd[b] = dd[b].replace("d","13");
        dd[b] = dd[b].replace("e","14");
        dd[b] = dd[b].replace("f","15");
        dd[b] = dd[b].replace("g","16");
    }

    for(int b=1; b<r; b++){
        d += Integer.parseInt(dd[b]) * Math.pow(16,r-b-1);
    }
    return d;
}

1 个答案:

答案 0 :(得分:0)

在循环中用(int b = 1)替换(int b = 1)之后它起作用了 因为用&#34;&#34;分割角色时它在辅助和其他ide中的索引0处的数组中创建一个空字符,但不在codeval和https://www.compilejava.net处创建一个空字符,这就是为什么它忽略第一个字符并为值ed赋予13