BASIC-11 16進法10進法


リソースの制限
時間制限:1.0 sメモリ制限:512.0 MB
問題の説明
キーボードから8桁以下の正の16進数文字列を入力し、正の10進数に変換して出力します.注:16進数の10~15は、それぞれ大文字のアルファベットA、B、C、D、E、Fで表されます.
サンプル入力
FFFF
サンプル出力
65535
Code
Javaソース:
import java.util.ArrayList;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		
		Scanner scan=new Scanner(System.in);
		String string=scan.nextLine();
		char c[]=string.toCharArray();
		long sum=0;
		int n=c.length;
		for(int i=0;i9){
				if(c[i]=='A'){
					sum+=10*Math.pow(16, n-i-1);
				}else if(c[i]=='B'){
					sum+=11*Math.pow(16, n-i-1);
				}else if(c[i]=='C'){
					sum+=12*Math.pow(16, n-i-1);
				}else if(c[i]=='D'){
					sum+=13*Math.pow(16, n-i-1);
				}else if(c[i]=='E'){
					sum+=14*Math.pow(16, n-i-1);
				}else 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);
	}
}