题解 | #进制转换#
进制转换
http://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
思路: 1.先处理字符,x处理为0,其他的字母处理为对应的数字,转化类型为int为后续求值做准备 2.求值:根据基数*权的固定套路即可
代码: import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String num = sc.nextLine(); int sum = 0; int n = 0; for (int i = 0; i < num.length(); i++) { char c = num.charAt(i); if (c == 'x') { n = 0; } else if (c -'9' > 0) { n = 10 + c - 'A'; } else { n = c - '0'; } sum = sum * 16 + n; } System.out.println(sum); } }
}
