基础练习 十六进制转十进制
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
//十六进制转十进制
import java.util.Scanner;
public class tset2 {
public static void main(String[] args) {
String str=new Scanner(System.in).next();
int len=str.length();
int s=0,sum=0;
for (int i = 0; i < len; i++) {
char c = str.charAt(i);
switch (c) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
s=Character.getNumericValue(c);
break;
case 'A':
s=10;
break;
case 'B':
s=11;
break;
case 'C':
s=12;
break;
case 'D':
s=13;
break;
case 'E':
s=14;
break;
case 'F':
s=15;
break;
default:
break;
}
sum=sum+(int) Math.pow(16, len-1-i)*s;
}
System.out.println(sum);
}
}