天天看点

Java实现十进制转任意进制

断更

不好意思又消失了将近一个月,原因是我又双开学了。以前家里人总说上大学之后就轻松,为什么我就不是这么感觉的,感觉天天好忙啊,都没时间看我的小博客了。

然后前两天我们的老师刚好讲到进制转换的内容,我就写了一下这个小项目,希望对你们有用,如果有错误的话,欢迎评论区留言。

算法

Java实现十进制转任意进制

代码

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