Вот моя функция, которая должна отменить и вернуть целое число дающего:
public static int reverse(int x) {
List<Integer> digits = new ArrayList<>();
int result = 0, count = 0;
while(x != 0) {
digits.add(x % 10);
x /= 10;
count++;
}
System.out.println(digits);
int i = 0;
while(count != 0) {
result += digits.get(i) * (int) Math.pow(10, count - 1);
System.out.printf("result: %d i: %d, count: %d - ", result, i, count);
System.out.printf("%d * %d\n", digits.get(i), (int) Math.pow(10, count - 1));
count--;
i++;
}
return result;
}
Я столкнулся с проблемой. Например, когда я передаю значение 1534236469, происходит следующее:
result: 410065408 i: 0, count: 10 - 9 * 1000000000
.
.
.
1056389759
Почему это происходит? Также приветствуются все советы по улучшению этой функции.