题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String str = in.nextLine(); //取出表示数字的部分,并转化为统一的小写 String num16 = str.toLowerCase().substring(2,str.length()); int num = 0; //按位处理每一个数字 for(int i = 0; i < num16.length();i++){ int indexNum = changeNumber(num16.charAt(num16.length()-i-1)); num += indexNum * Math.pow(16,i);// 注意乘方的表示方式 } System.out.println(num); } public static int changeNumber(char ch){ switch(ch){ case 'a': return 10; case 'b': return 11; case 'c': return 12; case 'd': return 13; case 'e': return 14; case 'f': return 15; default : return Integer.parseInt(String.valueOf(ch)); } } }