我正在尝试将整数作为参数,然后使用递归将整数中的每个数字加倍。
例如,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();
}
}