簡體   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