Java如何反转数字

时间:2020-01-09 10:35:30  来源:igfitidea点击:

在这篇文章中,我们将介绍如何用Java反转数字。可以以迭代方式和递归方式编写反转数字的Java程序。这两种解决方案都在这里给出。

两种方法的逻辑相似。我们需要对10进行模除以得到最后一位,并使用余数创建倒数。在迭代方法中,这将在循环中完成,其中在递归方法中,我们将在删除最后一位后再次调用该方法。

Java代码来反转数字–迭代和递归

public class ReverseNumber {
  public static void main(String[] args) {
    int reverseNum = numberReverse(145);
    System.out.println("Reversed number is " +reverseNum);
    System.out.println("------------------");
    reverseNum = numberReverseRecursive(1997, 0);
    System.out.println("Reversed number is (recursive) " +reverseNum);
  }
	
  private static int numberReverse(int number){
    int reverseNum = 0;
    int remainder;
      while (number > 0) {
        remainder = number % 10;
        reverseNum = (reverseNum * 10) + remainder;
        number = number / 10;
      }
    return reverseNum;
  }
	
  // recursive method
  private static int numberReverseRecursive(int number, int reverse){
    
    if (number != 0){
      reverse = reverse * 10 + (number % 10);
      // calling method again
      return numberReverseRecursive(number/10, reverse);
      
    }else{
      return reverse;
    }
  }
}

输出:

Reversed number is 541
-----------------
Reversed number is (recursive) 7991