生成二进制串的代码如下:
import java.util.Arrays;
/**
* 生成所有0,1组合的,n位长的字符串
* author:yangz yuan
* */
public class P32_Binary{
public static void Binary(int n,int[] A){
if (n<1){
System.out.println(Arrays.toString(A));
}else{
A[n-1]=0;
Binary(n-1,A);
A[n-1]=1;
Binary(n-1,A);
}
}
public static void main(String[] args) {
int n=2;
int[] A=new int[n];
Binary(n,A);
}
}
谁能跟我解释一下else里面怎么运行的啊?
else里面第一次调用了方法自身,它之后的
A[n-1]=1 和 Binary(n-1,A);为什么会被执行呢?