问题是当 n 为 4 时,它会打印 1、2 和 4
package Example_16;
public class Example {
public static int powersOf2(int n) {
if (n < 1) {
return 0;
} else if (n == 1) {
System.out.println(1);
return 1;
} else {
int prev = powersOf2(n / 2);
int curr = prev * 2;
System.out.println(curr);
return curr;
}
}
public static void main(String[] args) {
powersOf2(4);
}
}
我预计输出只有 4 而不是 1 和 2,但是控制台输出显示在下面,我不明白为什么会打印 1 和 2
$javac Example_16/Example.java
$java -Xmx128M -Xms16M Example_16/Example
1
2
4
森栏
慕娘9325324
相关分类