【发布时间】:2016-05-24 19:57:50
【问题描述】:
package code;
public class convert {
public int getPower(int power, int base){
int ans = 1;
for(int i=0; i<power; i++){
ans = ans * base;
}
return ans;
}
public int baseten (String s, int base){
int ret = 0;
for(int i = 0; i<s.length(); i++){
char cur = s.charAt(i);
if(base >= 0 && base <= 9){
int p = getPower(i, base);
int v = p * (cur - '0');
ret += v;
}
}
return ret;
}
}
这应该接受一个字符串和一个 int 并返回该数字的以 10 为底的值。例如 ("1001", 2) 应该返回 9。它目前在几个不同的测试中给了我错误的答案,我不知道为什么。非常感谢!
【问题讨论】:
-
Integer.parseInt(s, base)? -
对否决票有什么解释吗?
-
@ProsenGhosh 我敢打赌这是因为我们没有说“使用库函数”。
-
但我认为他并没有要求库函数。没关系,我投反对票,但对投反对票的解释可以让我更有意识。 :)
-
@ProsenGhosh SO 不是为了学习。这是为了找到复制粘贴的解决方案,让你的老板不再为截止日期而烦恼。