main
张新星 11 months ago
parent eecf56e773
commit 42d687031e

@ -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();
}
}
Loading…
Cancel
Save