题解 | #进制转换#
进制转换
http://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); while(scanner.hasNext()){ String n = scanner.nextLine(); getTen(n); } } public static void getTen(String s){ Long sum = 0l; for(int i = s.length() -1; i >= 2 ; i--){ char a = s.charAt(i); sum = sum + //注意此处的进制转换就可以了 new Double(Math.pow(16,s.length()-i-1)).longValue()* returnNum(a) ; } System.out.println(sum); }
public static int returnNum(char a){
switch(a){
case 'A' : return 10;
case 'B' : return 11;
case 'C' : return 12;
case 'D' : return 13;
case 'E' : return 14;
case 'F' : return 15;
}
return a - '0' ;
}
}