题解 | #进制转换#
进制转换
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 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case String hex = in.nextLine().substring(2); int decimal = Integer.parseInt(hex, 16); System.out.println(decimal); } } }
还有一个使用了进制转换公式是进制的n-1次幂,注意这里是n-1。
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case String str = in.nextLine().substring(2); int len = str.length(); long result = 0; for(int i = len-1;i>=0;i--){ char add = str.charAt(i); double convert = Math.pow(16,len-i-1); int add1 = Character.getNumericValue(add)*(int)convert; result+=add1; } System.out.println(result); } } }