我正在尝试将整数作为参数,然后使用递归将整数中的每个数字加倍。

例如,doubleDigit(3487)将返回33448877

我被困住了,因为我无法弄清楚我怎么猜数字中的每个数字。

最佳答案

要使用递归来执行此操作,请使用模数运算符(%),每次除以10,然后向后累加结果字符串,直到达到基本情况(0),该情况下无除数。在基本情况下,您只需返回一个空字符串。

String doubleDigit(Integer digit) {

      if (digit == 0) {
        return "";
      } else {
        Integer thisDigit = digit % 10;
        Integer remainingDigits = (digit - thisDigit) / 10;
        return doubleDigit(remainingDigits) + thisDigit.toString() + thisDigit.toString();
      }
    }

07-27 13:50