题解 | #进制转换#java实现
进制转换
http://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String original = in.nextLine().substring(2);
int value = 0;
//计算每一位值,并加起来
for(int i = 0; i < original.length(); i++){
value += getValue(original.charAt(i), original.length() - i -1);
}
System.out.println(value);
}
}
//根据字符对应的ASCII码,将16进制字符转为10进制int值
//b为该字符对应多少个16的乘积
public static int getValue(char a, int b){
int num = 0;
if((int)a >= 65){//A-F
num = (int)a - 55;
} else {//0-9
num = (int)a - 48;
}
while(b > 0){
num *= 16;
b--;
}
return num;
}
}
