JAVA 프로그래밍

문제

10진수를 입력받아 2진수로 변환하여 출력하는 문제입니다 이를 해결하는 프로그램을 작성하세요 
십진수를 입력하세요: 6
(십진수) 6 = (이진수) 110 

십진수를 입력하세요: 35
(십진수) 35 = (이진수) 100011 

십진수를 입력하세요: 300
(십진수) 300 = (이진수) 100101100 

알고리즘 설계

프로그램 시작 
   십진수를 입력받기
   십진수를 이진수로 변환
프로그램 종료

십진수를 이진수로 변환
   이진수 10(십진수 2) 이상일 때는 높은 자리의 이진수로 변환
   높은 자리부터 순서대로 0 또는 1 출력

프로그램 구현

     
 
 ※ 단계별 점검: A키(이전), D키(다음) 
 
	// 파일명 : ./Chapter21/RecursiveDecimalToBinary.java
	import java.util.Scanner;
		  
	public class RecursiveDecimalToBinary
	{
		// 십진수를 이진수로 변환  
Fb		private static void decimal2binary( int num ) {
			// 이진수 10(십진수 2) 이상일 때는 높은 자리의 이진수로 변환  
F1			if ( num >= 2 )
F2				decimal2binary( num / 2 );
			// 높은 자리부터 순서대로 0 또는 1 출력   
F3			System.out.print( num % 2 );
Fe		}
				// 프로그램 시작 
1		public static void main( String[] args ) {
			Scanner scan = new Scanner( System.in );
			// 십진수를 입력받기 
			System.out.print( "십진수를 입력하세요: " );
			int num = scan.nextInt();
		  
			// 십진수를 이진수로 변환 
			System.out.print( "(십진수) " + num + " = (이진수) " );
2			decimal2binary( num );
			scan.close();
		// 프로그램 종료 
3		}
	}

실행 순서 확인