ブルーブリッジカップ練習問題(5)——10進数から16進数へ
1198 ワード
タイトルは以下の通りです.
問題の説明
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
この問題も基礎問題に属し、直接普通の方法で変換すればいい.
問題の説明
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));
}
}
}