36进制的和 - 面试题目 - bd
36进制的和 - 面试题目 - bd
主要是对数字和字符之间的转化处理操作,以及StringBuilder的reverse方法和toString方法。
package com.lhb.bytedance; /** * @author lhb * @date 2022/3/12 */ public class _32_Add { // 将获取到的字符转化为数字 public static int getInt(char c) { if (c <= '9') { return c - '0'; }else { return (c - 'a') + 10; } } // 将数字转化为字符 public static char getChar(int n) { if (n <= 9) { return (char) (n + '0'); } else { return (char) (n - 10 + 'a'); } } public static String _36_add(String a, String b) { int i = a.length() - 1, j = b.length() - 1; StringBuilder sb = new StringBuilder(); // 表示进位 int car = 0; while (i >= 0 || j >= 0 || car > 0) { int v1 = i < 0 ? 0 : getInt(a.charAt(i)); int v2 = j < 0 ? 0 : getInt(b.charAt(j)); int t = v1 + v2 + car; car = t / 36; sb.append(getChar(t % 36)); i--; j--; } return sb.reverse().toString(); } public static void main(String[] args) { String a = "12h"; String b = "12"; System.out.println(_36_add(a, b)); } }

浙公网安备 33010602011771号