赞
踩
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
import java.util.Scanner; public class 十六进制转十进制 { public static void main(String[] args) { long result = 0; Scanner sc = new Scanner(System.in); String str = sc.nextLine(); for(int i=0;i<str.length();i++){ int length = str.length()-i-1; char str2 = str.charAt(i); if((int)str2-48>9){ if(str2=='A') result += 10*Math.pow(16,length); else if(str2=='B') result += 11*Math.pow(16,length); else if(str2=='C') result += 12*Math.pow(16,length); else if(str2=='D') result += 13*Math.pow(16,length); else if(str2=='E') result += 14*Math.pow(16,length); else if(str2=='F') result += 15*Math.pow(16,length); }else{ int num = (int)str2-48; result += num*Math.pow(16,length); } } System.out.println(result); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。