Итак, проблема в следующем. Вы должны создать метод, который принимает строку в качестве параметра, который состоит из всех чисел, и вам нужно взять эту строку и преобразовать ее в целое число. Вы должны использовать рекурсивное решение для решения проблемы.
Я написал следующий код, и он прекрасно работает, когда я ввожу «1234» или «138775», но как только я ввожу число, содержащее 0, он возвращает странный результат.
100, 1001, 101 и 12045 возвращают 10, 11, 110 и 1245 соответственно. Как уже упоминалось выше, код прекрасно работает, когда я отправляю такие вещи, как «1234» или «14384», но как только появляется ноль, он имеет тенденцию удалять этот ноль.
Я пробовал разные преобразования int в строки из класса Integer, такие как parse (int), но это имело тот же результат.
/**
* converts a string of numbers to an int
*
* @param String str: original string of numbers
* @return int recursiveStringInt: returns the int value of the string
*/
public static int recursiveStringInt(String str)
{
if(str.length() == 1)
return Integer.valueOf(str);
else
{
return Integer.valueOf(str.substring(0,1) + recursiveStringInt(str.substring(1)));
}
}
Спасибо за помощь, ребята!
Пожалуйста, дайте мне знать, если требуется какое-либо разъяснение.