【发布时间】:2013-09-23 08:51:31
【问题描述】:
正如标题所说,我试图在 java 中使用递归技术将二进制转换为十进制,但我无法获得所需的输出 这就是我所做的
public class deci {
public static void main(String args[]){
hexa s1=new deci();
s1.spawn(11000);
}
void spawn(int a){
int p=0;int x=0;int k=0;
if(a>0){
p=a%10;
x=x+p*(int)Math.pow(2,k);
k++;
spawn(a/10);
} else {
System.out.print(x);
}
}
}
【问题讨论】:
-
期望的输出是什么?你得到了什么输出?努力吧,伙计。
-
我得到的是 00110 而不是 12
-
那么这段代码到底有什么问题??
-
好吧,你没有将 k 的值传递给任何地方,所以它总是 0。
-
@Sigma 我不会为您编写代码,但我可以帮助您。我已经提到你增加'k',但永远不要用它做任何事情。
标签: java recursion binary decimal