아래 코드는 정수를 취하여이를 2 진수로 변환하고 숫자 합계를 인쇄합니다. 내가 잘못하고있는 것을 나에게 설명해 주시겠습니까?정수를 2 진수로 변환하고 숫자의 합을 인쇄하십시오.
예 :
입력 - 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);
}
}
? 너는 무엇을 기대 하느냐? –
샘플 입력 범위를 제공하고 그 결과로 어떤 결과가 발생하면 응답을 유도 할 것입니다. 그런 식으로 질문을 빨리 처리 할 수 있습니다. 로직을 많이 사용하거나 테스트 케이스를 컴파일하고 작성하지 않고서는 문제가 명백해질 수 있습니다. (또는 더 간결하게 말하자면, '입력하는 동안 @GernotKrost가 말한 것 +1. :)) –