본문 바로가기
study/Java

[Java] 16. 배열 (10진수를 2, 8, 10, 16 진수로 변경하기)

by 금이패런츠 2022. 3. 15.
728x90
반응형
package chap5;

import java.util.Scanner;

/*
 * 10진수를 2, 8, 10, 16 진수로 변경하기
 */
public class ArrEx5 {
	public static void main(String[] args) {
		
		int[] digit = {2, 8, 10, 16};
		char[] data = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	    char[] arr;
	    System.out.println("10진수 값을 입력하세요");
	    Scanner scan = new Scanner(System.in);
	    int num = scan.nextInt();
	    int divnum = num, index = 0;
	                            //digit = {2, 8, 10, 16}
	    for (int d : digit) {   // 2        =>      8
	    	divnum = num;       // 10 => 0      10 => 0
	    	index = 0;          // 0 => 4        0 => 1 
		    arr = new char[32]; //0101           21  
	    	while (divnum > 0) {
	    		arr[index++] = data[divnum % d];
	    		divnum /= d;
	    	}
	    	System.out.print(num + "의 " + d + "진수 :");
	    	for(int i =index-1; i>=0; i--) System.out.print(arr[i]);
	    	System.out.println();
	    }
	}
}
728x90
반응형