这是学校的作业问题:创建一个称为toBinary的递归方法,该方法以单个整数作为参数并以二进制形式输出等效方法。
这是我的代码:
import java.util.*;
class MethodAssign6{
static void toBinary(int a){
if(a==0){
System.out.print("theArrayOrStringIWant");
}
else{
System.out.println(a%2);
toBinary(a/2);
}
}
public static void main(String[]args){
toBinary(24);
}
}
如您所见,当问题只希望我将单个整数作为参数时,我不知道如何创建一个数组来保存所有a%2值。有人请帮助我,我将非常感谢。
最佳答案
我认为您走在正确的轨道上-但是您当前的方法会将数字反序输出。尝试进行递归调用,然后打印:
static void toBinary(int a){
if(a!=0) {
toBinary(a/2);
System.out.print(a%2);
}
}
您还可以使用String获得类似的效果:
static String toBinary(int a){
if(a==0) {
return "";
}
else {
return toBinary(a/2) + (a%2);
}
}
public static void main(String[]args){
System.out.println(toBinary(24));
}