import java.util.Scanner; public class test { // 将字符串转换为十进制 public static int toDecimal(String value, int base) { return Integer.parseInt(value, base); } // 将十进制转换为指定进制 public static String fromDecimal(int value, int base) { return Integer.toString(value, base).toUpperCase(); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请选择转换类型:"); System.out.println("1. 二进制"); System.out.println("2. 八进制"); System.out.println("3. 十进制"); System.out.println("4. 十六进制"); System.out.print("请输入源进制(1-4): "); int sourceBase = scanner.nextInt(); System.out.print("请输入目标进制(1-4): "); int targetBase = scanner.nextInt(); System.out.print("请输入要转换的数字: "); String value = scanner.next(); int decimalValue; // 将输入的值转换为十进制 switch (sourceBase) { case 1: decimalValue = toDecimal(value, 2); break; case 2: decimalValue = toDecimal(value, 8); break; case 3: decimalValue = toDecimal(value, 10); break; case 4: decimalValue = toDecimal(value, 16); break; default: throw new IllegalArgumentException("无效的源进制"); } // 将十进制值转换为目标进制 String result; switch (targetBase) { case 1: result = fromDecimal(decimalValue, 2); break; case 2: result = fromDecimal(decimalValue, 8); break; case 3: result = fromDecimal(decimalValue, 10); break; case 4: result = fromDecimal(decimalValue, 16); break; default: throw new IllegalArgumentException("无效的目标进制"); } System.out.println("转换结果: " + result); scanner.close(); } }