2014-11-29 2 views
0

내 코드의 출력에 문제가있는 것 같습니다 (10 진수에서 2 진수로 변환하는 코드). 예를 들어 숫자 12를 입력하면 01100을 출력 할 것입니다. 단지 1100을 출력하고 싶습니다. (처음에는 0을 쓰지 않아도됩니다). 제가 놓칠지도 모르는 것이 있습니까? 미리 감사드립니다.10 진수에서 2 진수로 변환 할 때 여분의 0이 출력됩니다.

import java.util.*; 
public class DtoB{  
public static void main(String[] args){  
    Scanner in = new Scanner(System.in);  
    System.out.print("Enter a positive integer: ");  
    int number = in.nextInt();  

    int i; 
    int j; 
    int[] binary = new int[10]; 

    if (number > 0){ 
    for (i = 0; number != 0; i++){ 
     binary[i] = number % 2; 
     number /= 2; 
    } 
    for (j = i; j >= 0; j--){ 
     System.out.print(binary[j]); 
     } 
     System.out.print(" is the binary conversion of your integer."); 

    } else { 
     System.out.print("Error: You have not entered a positive integer."); 
    } 
    } 
} 
+0

초기화하기 j를 함께 I-1과 무엇 – WannaBeCoder

+0

시도 : 여기 아래에있는 내 코드는 "배열을." 코드를 붙여 넣는 동안 아무것도 못 보셨나요? – WannaBeCoder

+0

고맙습니다. 이제 코드를 수동으로 추적하여 어떻게 수행했는지 확인할 것입니다. 다시 고마워요 :) –

답변

2

초기화 J와 I-1

for (j = i-1; j >= 0; j--){ 
    System.out.print(binary[j]); 
    } 
관련 문제