5
我想计算一个整数的二进制表示中的个数。我需要递归执行此操作。我认为我的逻辑是正确的,但我仍然遇到堆栈溢出。我正在进行第2天的故障排除。这是我的代码:在Java中递归计数元素的堆栈溢出
static int CountRecursive(int n) {
int sum = 0;
if (n >= 0) {
if (n%2 == 1) {
sum ++;
} sum += CountRecursive(n/2);
} return sum;
}
我的逻辑是基于这样的信息:“从十进制转换为二进制的标准机制是由2至多次划分十进制数,并在每个分割,输出余数(0或1)“。
不过请注意,你必须调整你的解决方案更是为负整数工作了。 – biziclop