繁体   English   中英

如何将 Integer 转换为没有 Integer.toString Function 的字符串 [暂停]

[英]How to Convert an Integer to a String without Integer.toString Function [on hold]

这是我之前的问题的扩展,但我需要在没有这个 function 的情况下解决这个问题。 我必须只使用递归。 有什么想法吗?

一个例子; 20A 将是:

2 x 12^2 + 0 x 12^1 + 10 x 12^0 = 2 x 144 + 0 x 12 + 10 x 1 = 288 + 0 + 10 = 298

public class Duodecimal {
      public static String toBase12(int n) {
        if (n < 10)
            return Integer.toString(n);
        if (n == 10)
            return "A";
        if (n == 11)
            return "B";
        return toBase12(n / 12) + toBase12(n % 12);
      }
    }

好吧,你已经计算出了 n == 10。当然你可以对 n == 9 使用相同的技术。如果你想要一个替代的想法,想象你有字符串 '0123456789AB'。 String 有一种方法来请求给定索引处的字符。 现在,该字符串中 position '9' 的数字是多少? 10点是什么? 确切地。 这个方法是charAt

我打赌你可以用这个提示完成这个作业:)

稍加思考,您可以扩展它以转换从 2 到 16 的任何基数。

  1. 在方法中添加第二个参数并将其命名为baseradix
  2. 将最终的digits字符串定义为"0123456789ABCDEF"
  3. 进行适当的检查以确保radix在允许的范围内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM