parent
80f1e0531d
commit
2a11aa92f8
@ -1,41 +0,0 @@
|
||||
package jzzh;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
public class BaseConverter {
|
||||
// 将任意 R 进制的数转换为十进制
|
||||
public static int convertToDecimal(String number, int base) {
|
||||
return Integer.parseInt(number, base);
|
||||
}
|
||||
|
||||
// 将十进制数转换为任意目标进制
|
||||
public static String convertFromDecimal(int decimalNumber, int targetBase) {
|
||||
return Integer.toString(decimalNumber, targetBase).toUpperCase(); // 使用大写表示结果
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
|
||||
// 输入原始进制
|
||||
System.out.print("请输入原始进制 (2 ≤ R ≤ 16): ");
|
||||
int originalBase = scanner.nextInt();
|
||||
|
||||
// 输入需要转换的数
|
||||
System.out.print("请输入进制数: ");
|
||||
String number = scanner.next().toUpperCase(); // 防止字母大小写混淆
|
||||
|
||||
// 输入目标进制
|
||||
System.out.print("请输入目标进制 (2 ≤ R ≤ 16): ");
|
||||
int targetBase = scanner.nextInt();
|
||||
|
||||
// 将原始 R 进制数转换为十进制
|
||||
int decimalNumber = convertToDecimal(number, originalBase);
|
||||
|
||||
// 将十进制数转换为目标 R' 进制
|
||||
String result = convertFromDecimal(decimalNumber, targetBase);
|
||||
|
||||
// 输出结果
|
||||
System.out.println("转换后的结果: " + result);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in new issue