题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String data = in.next(); Hexadecimal2(data); } public static long power(long date, int di, int mi) { if (mi == 0) return date; return (long) Math.pow(di, mi) * date; } public static void Hexadecimal2(String arry) { // String arry = "0x775E"; int tops = arry.length(); long sum = 0; char ch; for (int i = 2; i < arry.length(); i++) { ch = arry.charAt(i); // System.out.println(ch); if (ch == 'A' || ch == 'B' || ch == 'C' || ch == 'D' || ch == 'E'||ch=='F') { int k = ch; sum += (k - 55) * power(tops - i - 1); // System.out.println(sum); } else { sum += (arry.charAt(i) - '0') * power(tops - i - 1); } // System.out.println(sum); } System.out.println(sum); } public static long power(int mi) { if (mi == 0) return 1; return (long) Math.pow(16, mi); } }