for(int i=0; i<=1; ++i) {
for(int j=0; j<=1; ++j) {
for(int k=0; k<=1; ++k) {
for(int a=0; a<=1; ++a) {
for(int b=0; b<=1; ++b) {
System.out.print(i+""+j+""+k+""+a+""+b);
System.out.println();
}
}
}
}
}
输出
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010..... 怎么把上述的循环变成递归,如果有20个循环嵌套呢,写20个循环岂不是很麻烦,有没有什么简洁的方法,用递归怎么实现?
lz,这个不是输出数的二进制形式吗?
package test_for;
public class Testfor {
public static void main(String[] args){
for(int i=0 ;i < 0x100;i++)
System.out.println(Integer.toBinaryString(i));
}
}
public void add(int i){
if(i<100){
i = i+1;
System.out.println(Integer.toBinaryString(i));
add(i);
}
}
所谓的递归算法.. 对这个例子来说没啥意义。如果你不把它当成二进制数来看,而是仅仅当成这一整个循环来看 也就是多个if判断的嵌套 递归算法并不能给你用来算多种可能的结果集 (或者说不好用,何必这样纠结呢)