写一个十进制数转换为任意进制数的Java方法
时间: 2024-01-26 14:03:12 浏览: 70
好的,下面是一个将十进制数转换为任意进制数的Java方法,可以接受两个参数:要转换的十进制数和目标进制数。例如,要将十进制数 15 转换为二进制数,调用该方法时传入参数 (15, 2)。
```java
public static String fromDecimal(int decimal, int base) {
StringBuilder sb = new StringBuilder();
while (decimal > 0) {
int remainder = decimal % base;
char digit = getChar(remainder);
sb.insert(0, digit);
decimal /= base;
}
return sb.toString();
}
private static char getChar(int digit) {
if (digit < 10) {
return (char) ('0' + digit);
} else {
return (char) ('A' + digit - 10);
}
}
```
该方法使用了一个 StringBuilder 来存储转换后的数字,然后不断对十进制数取余数,并将余数转换为对应进制下的字符,插入到 StringBuilder 的最前面。最后返回 StringBuilder 转换为的字符串即可。
其中,`getChar` 方法用于将数字转换为对应进制下的字符,如果是 0~9 的数字,则直接加上字符 '0' 得到字符,如果是 10~15 的数字,则加上字符 'A' 并减去 10 得到字符。
如果要将十进制数转换为八进制或十六进制,只需要将调用该方法时的第二个参数改为 8 或 16 即可。
阅读全文