断更
不好意思又消失了将近一个月,原因是我又双开学了。以前家里人总说上大学之后就轻松,为什么我就不是这么感觉的,感觉天天好忙啊,都没时间看我的小博客了。
然后前两天我们的老师刚好讲到进制转换的内容,我就写了一下这个小项目,希望对你们有用,如果有错误的话,欢迎评论区留言。
算法
代码
public class Main {
public static void main(String[] args) {
// 十进制转二进制
ten2other(10086,2);
// 十进制转八进制
ten2other(10086,8);
// 十进制转十六进制
ten2other(10086,16);
}
/**
* 十进制转其他进制
* @param num1 待转换数字
* @param num2 转换至进制
*/
public static void ten2other(int num1,int num2){
List<Integer> list = new ArrayList<Integer>();
int num3 = num1;
while (true){
int a = num1 % num2; // 计算余数
list.add(a); // 储存余数
num1 = (num1 - a) / num2; // 更改待转换数字的值
if(num1 == 0){
break; // 如果除数等于0则跳出死循环
}
}
String num = "";
for (int i = (list.size()-1);i >= 0; i--){
int abc = list.get(i);
String bcd;
switch (abc){
case 10:
bcd = "A";
break;
case 11:
bcd = "B";
break;
case 12:
bcd = "C";
break;
case 13:
bcd = "D";
break;
case 14:
bcd = "E";
break;
case 15:
bcd = "F";
break;
default:
bcd = ""+abc;
}
num = num + bcd;
}
System.out.println("数字 "+num3+" 转换成 "+num2+" 进制是:"+num);
}
}
复制
结尾
文章已水,我接着潜水了,下次更新文章随缘。
如无特殊说明《Java实现十进制转任意进制》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-170.html