题目:
请写一段将正整数转化为四进制字符串的函数,函数原型和参看说明如下:Stringchange_to_4(long a) 输入:a,这是long类型的正整数 输出:是一个由’0’、‘1’、‘2’、'3’组成的字符串,作为整数a对应的4进制表示**
方法1:
public class Test {
public static void main(String[] args) {
// 测试数据
int a = 255;
// 进行转换
String b = tenChangeFour(a);
// 输出结果
System.out.println(b);
}
// 将10进制整数正整数变成4进制
private static String tenChangeFour(int a) {
StringBuilder sb = new StringBuilder();
change(sb, a);
return sb.toString();
}
// 将10进制整数正整数变成4进制
private static void change(StringBuilder sb, int a) {
if (a == 0) {
return;
}
sb.insert(0, a % 4);
change(sb, a / 4);
}
}
结果:
3333
解释:
这个使用的是递归,利用的就是`除基倒取余`的思想
方法2:
public class Test {
public static void main(String[] args) {
// 测试数据
int a = 255;
// 进行转换
String b = tenChangeFour(a);
// 输出结果
System.out.println(b);
}
public static String tenChangeFour(int a) {
StringBuilder str = new StringBuilder();
while (a != 0) {
str.insert(0, a % 4);
a /= 4;
}
return str.toString();
}
}
结果:
3333
解释:
使用的是while循环,也是`除基倒取余`的思想