题解 | #进制转换#
进制转换
http://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
输入16进制的字符串,输出10进制的字符串,Java代码
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;
/**
* 输入16进制的字符串,输出10进制的字符串
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// String s1 = sc.nextLine();
// List<String> list = new ArrayList<>();
// 16进制字符串以0x开头,那么就从第三位开始算
HashMap<Character, Integer> hashMap = getHashMap();
while(sc.hasNext()){
String s = sc.nextLine();
char[] chars = s.toCharArray();
int length = chars.length;
long sum = 0;
int count = 1;
for(int i = length-1; i>1; i--){
sum += hashMap.get(chars[i])*Math.pow(16,count-1);
count++;
}
System.out.println(sum+"");
}
}
public static HashMap<Character, Integer> getHashMap() {
HashMap<Character, Integer> character = new HashMap<>();
character.put('0',0);
character.put('1',1);
character.put('2',2);
character.put('3',3);
character.put('4',4);
character.put('5',5);
character.put('6',6);
character.put('7',7);
character.put('8',8);
character.put('9',9);
character.put('A',10);
character.put('B',11);
character.put('C',12);
character.put('D',13);
character.put('E',14);
character.put('F',15);
return character;
}
}

顺丰集团工作强度 276人发布