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