我想在不使用数组的情况下反转一个数字。我想知道如何保存数字。我想在这一步我还需要知道数字是一位数还是两位数等。
以下是我的代码。
@Edit
我已按照方法
解决了这个问题public class ReverseNumber
{
public static void main(String[] args)
{
ReverseNumber obj = new ReverseNumber();
int result = obj.reverse(2199);
System.out.println(result);
}
public int reverse(int num)
{
int rnum1=0;
for(int i=num;i!=0;)
{
rnum1=(rnum1*10)+(i%10);
i=i/10;
// write your code here
}
return rnum1;
}
}
答案 0 :(得分:4)
num1
乘以10的部分,并且选择循环有点不走运:
public static int reverse(int num) {
int input = num;
int num1 = 0;
while (input>0) {
num1 = num1 * 10;
num1 = num1 + input%10;
input = input / 10;
}
return num1;
}
编辑:在实施中出错...现在已修复
答案 1 :(得分:3)
@Parker_Halo提供了一个出色的迭代解决方案。我在这里添加一个完整性的递归解决方案:
public static int reverse(int number, int n) {
if (number == 0)
return n;
return reverse(number / 10, n * 10 + number % 10);
}
你会这样称呼:
int rev = reverse(num, 0);