ブルーブリッジカップ基礎練習——16進数回転10進数


問題の説明
キーボードから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);
	}

}