From 42d687031ea0c3f0b3c4745c18311ecbed0ab5fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=B0=E6=98=9F?= <3137578590@qq.com> Date: Wed, 9 Oct 2024 21:33:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Etest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test.java | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 test.java diff --git a/test.java b/test.java new file mode 100644 index 0000000..b94eaf8 --- /dev/null +++ b/test.java @@ -0,0 +1,72 @@ +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(); + } +} \ No newline at end of file