ブルーブリッジカップ基礎練習——16進数回転10進数
1476 ワード
問題の説明
キーボードから8桁以下の正の16進数文字列を入力し、正の10進数に変換して出力します.注:16進数の10~15は、それぞれ大文字のアルファベットA、B、C、D、E、Fで表されます.
サンプル入力
FFFF
サンプル出力
65535
Javaには特定のクラスLongがあります.Long.parseLong(s,16)は文字列sの16進数を10進数に変換する方法です.
ソース:
また、判断によって書くということは、まず入力した文字列を文字配列に変換して、それから10-15の特殊文字かどうかを判断して、それから16の次の方法で判断します.
具体的なコード:
キーボードから8桁以下の正の16進数文字列を入力し、正の10進数に変換して出力します.注:16進数の10~15は、それぞれ大文字のアルファベットA、B、C、D、E、Fで表されます.
サンプル入力
FFFF
サンプル出力
65535
Javaには特定のクラスLongがあります.Long.parseLong(s,16)は文字列sの16進数を10進数に変換する方法です.
ソース:
import java.util.*;
public class Main{
public static void main(String []args)
{
Scanner input = new Scanner(System.in);
String s = input.next();
input.close();
long sum = Long.parseLong(s,16);
System.out.println(sum);
}
}
また、判断によって書くということは、まず入力した文字列を文字配列に変換して、それから10-15の特殊文字かどうかを判断して、それから16の次の方法で判断します.
具体的なコード:
import java.util.*;
public class Test11 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String s = input.next();
int n = s.length();
char c[] = s.toCharArray();
long sum = 0;
for(int i = 0;i9)
{
if(c[i] == 'A')
{
sum += 10*Math.pow(16, n-i-1);
}
if(c[i] == 'B')
{
sum += 11*Math.pow(16, n-i-1);
}
if(c[i] == 'C')
{
sum += 12*Math.pow(16, n-i-1);
}
if(c[i] == 'D')
{
sum += 13*Math.pow(16, n-i-1);
}
if(c[i] == 'E')
{
sum += 14*Math.pow(16, n-i-1);
}
if(c[i] == 'F')
{
sum += 15*Math.pow(16, n-i-1);
}
}
else
{
sum += ((int)c[i]-48)*Math.pow(16, n-i-1);
}
}
System.out.println(sum);
}
}