package test;
import java.util.Scanner;
public class Hex2Dec {
public static void main(String[] args){
//初始化定义
Scanner input = new Scanner(System.in);
int Dec = 0;
int x = 0;
//主体
System.out.print("请输入一个十六进制数: ");
String s = input.next();
s = s.toUpperCase(); //转大写
int y = s.length() - 1;
while(0 <= y){
char hex = s.charAt(y);
int k = change(hex);
Dec += k * Math.pow(16, x);
y--;
x++;
}
//输出
System.out.print("十进制为: " + Dec);
}
//调用
public static int change(char c){
if(c >= 'A' && c <= 'F'){
return c - 'A' + 10;
}
else{
return c - '0';
}
}
}
补充:
假若输入字符串类型“Welcome”,若想获取其中单个或多个字符,可以用charAt()或subString()。这里要特别注意字符串的下标信息,如图: