输入一个数转为七进制

/**
 * 给定一个整数,将其转化为7进制,并以字符串形式输出。
 * <p>
 * 示例 1:
 * 输入: 100
 * 输出: "202"
 * 示例 2:
 * 输入: -7
 * 输出: "-10"
 * <p>
 * 链接:https://leetcode-cn.com/problems/base-7
 */
public class Ti5 {
          
   
    public static void main(String[] args) {
          
   
        String res = convertToBase7(7);
        System.out.println(res);
    }
    //一开始自己写的
    public static String convertToBase7(int num) {
          
   
        String res = "";
        int x = Math.abs(num);
        int y = x / 7;
        int k = x % 7;
        while (y != 0) {
          
   
            res = k + res;
            k = y % 7;
            y /= 7;
        }
        res = k + res;
        if (num < 0) {
          
   
            return "-" + res;
        }
        return res;
    }
    //简化一下代码
    /*public static String convertToBase7(int num) {

        if (num == 0) {
            return "0";
        }
        String res = "";
        int x = Math.abs(num);
        while (x != 0) {
            int i = x % 7;
            res = i + res;
            x /= 7;
        }
        if (num < 0) {
            return "-" + res;
        }
        return res;
    }*/

    //网上借鉴的
    /*public static String convertToBase7(int num) {
        if (num == 0) {
            return "0";
        }
        StringBuilder builder = new StringBuilder();
        boolean flag = false;
        if (num < 0) {
            num *= -1;
            flag = true;
        }
        while (num > 0) {
            int i = num % 7;
            builder.append(i);
            num /= 7;
        }
        if (flag) {
            return builder.append("-").reverse().toString();
        } else {
            return builder.reverse().toString();
        }
    }
经验分享 程序员 微信小程序 职场和发展