使用java编写一个进制转换应用程序
时间: 2023-05-30 21:04:36 浏览: 119
以下是一个基于Java的进制转换应用程序示例。它可以将任何基数的数字转换为另一种基数。
```java
import java.util.Scanner;
public class BaseConverter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您要转换的数字:");
String inputNumber = scanner.nextLine();
System.out.println("请输入当前数字的基数:");
int inputBase = scanner.nextInt();
System.out.println("请输入目标数字的基数:");
int targetBase = scanner.nextInt();
String convertedNumber = convertBase(inputNumber, inputBase, targetBase);
System.out.println("转换后的数字为:" + convertedNumber);
}
private static String convertBase(String inputNumber, int inputBase, int targetBase) {
int decimalNumber = toDecimal(inputNumber, inputBase);
String targetNumber = fromDecimal(decimalNumber, targetBase);
return targetNumber;
}
private static int toDecimal(String inputNumber, int inputBase) {
int decimalNumber = 0;
for (int i = 0; i < inputNumber.length(); i++) {
int digit = Character.digit(inputNumber.charAt(i), inputBase);
decimalNumber = decimalNumber * inputBase + digit;
}
return decimalNumber;
}
private static String fromDecimal(int decimalNumber, int targetBase) {
String targetNumber = "";
while (decimalNumber > 0) {
int remainder = decimalNumber % targetBase;
char digit = Character.forDigit(remainder, targetBase);
targetNumber = digit + targetNumber;
decimalNumber /= targetBase;
}
return targetNumber;
}
}
```
该程序首先提示用户输入要转换的数字,然后要求输入当前数字的基数和目标数字的基数。它将调用两个帮助方法来执行实际的进制转换。第一个方法`toDecimal`将输入数字转换为十进制数,第二个方法`fromDecimal`将十进制数转换为目标基数的数字。最后,转换后的数字将被打印出来。
阅读全文