【每日一题】【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; } }
本文来自博客园,作者:哥们要飞,转载请注明原文链接:https://www.cnblogs.com/liujinhui/p/15936202.html