【每日一题】【map存值】2022年2月25日-NC112 进制转换

描述
给定一个十进制数 M ,以及需要转换的进制数 N 。将十进制数 M 转化为 N 进制数。

当 N 大于 10 以后, 应在结果中使用大写字母表示大于 10 的一位,如 'A' 表示此位为 10 , 'B' 表示此位为 11 。

若 M 为负数,应在结果中保留负号。

思路:map记录对应的值,key-value,如10-A

复制代码
import java.util.*;
 
public class Solution {
    /**
     * 进制转换
     * @param M int整型 给定整数
     * @param N int整型 转换到的进制
     * @return string字符串
     */
     
    public String solve (int M, int N) {
        boolean isNegative = false;
        if(M < 0) {
            isNegative = true;
            M = -M;
        }
        char[] map = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
        StringBuilder sb = new StringBuilder();
        int remainder = 0;
        while(M != 0) {
            sb.insert(0, map[M % N]);
            M /= N;
        }
        String res = sb.toString();
        return isNegative ? "-" + res : res;
    }
}
复制代码

 

posted @   哥们要飞  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示