私は整数のバイナリ表現でOnesの数を数えようとしています。私はこれを再帰的に行う必要があります。私の論理は正しいと思いますが、スタックのオーバーフローが続きます。私は2日目のトラブルシューティングをしています。 、「バイナリに10進数から変換するための標準的なメカニズムが繰り返し2進数を分割し、各分割にすることである出力剰余(0または:Javaの要素の再帰的なカウントのためのスタックオーバーフロー
static int CountRecursive(int n) {
int sum = 0;
if (n >= 0) {
if (n%2 == 1) {
sum ++;
} sum += CountRecursive(n/2);
} return sum;
}
私のロジックは、この情報に基づいている:ここで私のコードです1)。 "
注:
if (n >= 0)
、厳密な比較すなわち。 – biziclop