如何在不使用n数组的情况下反转数字,也不使用任何库函数?

时间:2015-10-26 14:45:06

标签: java

我想在不使用数组的情况下反转一个数字。我想知道如何保存数字。我想在这一步我还需要知道数字是一位数还是两位数等。

以下是我的代码。

@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;
 }
}

2 个答案:

答案 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);