正如标题所说我试图在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);
}
}
}
答案 0 :(得分:1)
问题是你没有使用spawn的结果,无论是返回还是打印它。
如果你想要退货,你需要换挡或动力,但你要打印它。
我建议您逐步调试调试器中的代码,以便了解它的作用。
答案 1 :(得分:0)
这是一个工作计划。
参数是(二进制代码,代码-1的大小),例如对于(111,2),这将返回7
int binaryToDecimal(int binary,int size){
if(binary==0) return 0;
return binary%10*(int)Math.pow(2,size)+binaryToDecimal((int)binary/10,size-1);
}