ブルーブリッジカップ練習問題(5)——10進数から16進数へ


タイトルは以下の通りです.
問題の説明
16進数は、プログラム設計時によく使われる整数の表現です.0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fの16シンボルで,それぞれ10進数の0から15を表す.16進数のカウント方法は満16進1であるため、10進数16は16進数で10であり、10進数の17は16進数で11であり、このように10進数の30は16進数で1 Eである.
非負の整数を与え、16進数の形式で表す.
入力フォーマット
入力には、変換する数を表す非負の整数aが含まれます.0<=a<=2147483647
出力フォーマット
この整数の16進数表現を出力します
サンプル入力
30
サンプル出力
1E
この問題も基礎問題に属し、直接普通の方法で変換すればいい.
import java.util.Scanner;
/*
 *         
 */
public class Main{
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int decimal = input.nextInt();
		StringBuffer result = new StringBuffer();
		while(decimal / 16 > 0){
			result.append(addAChar(decimal));	
			decimal = decimal / 16;
		}
		result.append(addAChar(decimal));
		result = result.reverse();
		System.out.println(result);
	}

	private static char addAChar(int source) {
		// TODO Auto-generated method stub
		switch(source % 16){
		case 10:return 'A';
		case 11:return 'B';
		case 12:return 'C';
		case 13:return 'D';
		case 14:return 'E';
		case 15:return 'F';
		default:	
			return  (char) ('0'+(source%16));
	
		}
	}
}