问题描述
进制范围2-62,每个数字的可取值范围是0-9a-zA-Z。
输入原进制,转换后进制,待转换的整数值。
输出转换后的值。
思路
定义字符串存储0-9a-zA-Z即可。
实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String nums = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; int a = scanner.nextInt(); int b = scanner.nextInt(); String input = scanner.next(); int result = 0; for (int i = input.length() - 1; i >= 0; i--) { char c = input.charAt(i); result = result + (int) (nums.indexOf(c) * Math.pow(a, input.length() - 1 - i)); } StringBuffer sb = new StringBuffer(); while ((result / b) != 0) { int temp = result % b; sb.insert(0, nums.charAt(temp)); result = result / b; } sb.insert(0, nums.charAt(result)); System.out.println(sb); } }
JAVA
|