以下のコードは整数を取ってバイナリに変換し、数字の合計を出力することになっています。私が間違っていることを私に説明してもらえますか?整数をバイナリに変換し、数字の合計を出力する
例:
入力 - 15バイナリで
15が "1111" であり、1 + 1 + 1 + 1 = 4つの
出力 - 4
import java.util.*;
import java.io.*;
import java.math.*;
class Solution {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int X = in.nextInt();
String binary = Integer.toBinaryString(X);
int amount = 0;
String input = Integer.toString(X);
for(int b = 0; b < binary.length(); b++){
if (binary.charAt(b) == 1){
amount++;
//System.err.println(binary.charAt(b));
}
}
System.out.println(amount);
}
}
enougthですか?あなたは何を期待していますか? –
サンプル入力の範囲を指定し、結果として何が起こったかを回答することをお勧めします。そうすれば、論理を歩いたり、テストケースをコンパイルして自分自身で作り上げたりすることなく、問題が明らかになる可能性があるので、質問にすばやく答えることができます。 (または、私が入力していたときに、「@GernotKrostが何を言ったかをより簡潔に「:+1する」) –