在 Java 中有三种方法可以反转数字。
1)使用while循环
2)使用for循环
3)使用递归
程序 1:使用while循环反转一个数字
程序将提示用户输入数字,然后使用while循环反转相同的数字。
import java.util.Scanner;class ReverseNumberWhile{ public static void main(String args[]) { int num=0; int reversenum =0; System.out.println("Input your number and press enter: "); //This statement will capture the user input Scanner in = new Scanner(System.in); //Captured input would be stored in number num num = in.nextInt(); //While Loop: Logic to find out the reverse number while( num != 0 ) { reversenum = reversenum * 10; reversenum = reversenum + num%10; num = num/10; } System.out.println("Reverse of input number is: "+reversenum); }}
输出:
Input your number and press enter: 145689Reverse of input number is: 986541
程序 2:使用for循环反转一个数字
import java.util.Scanner;class ForLoopReverseDemo{ public static void main(String args[]) { int num=0; int reversenum =0; System.out.println("Input your number and press enter: "); //This statement will capture the user input Scanner in = new Scanner(System.in); //Captured input would be stored in number num num = in.nextInt(); /* for loop: No initialization part as num is already * initialized and no increment/decrement part as logic * num = num/10 already decrements the value of num */ for( ;num != 0; ) { reversenum = reversenum * 10; reversenum = reversenum + num%10; num = num/10; } System.out.println("Reverse of specified number is: "+reversenum); }}输出:
Input your number and press enter: 56789111Reverse of specified number is: 11198765
程序 3:使用递归反转数字
import java.util.Scanner;class RecursionReverseDemo{ //A method for reverse public static void reverseMethod(int number) { if (number < 10) { System.out.println(number); return; } else { System.out.print(number % 10); //Method is calling itself: recursion reverseMethod(number/10); } } public static void main(String args[]) { int num=0; System.out.println("Input your number and press enter: "); Scanner in = new Scanner(System.in); num = in.nextInt(); System.out.print("Reverse of the input number is:"); reverseMethod(num); System.out.println(); }}输出:
Input your number and press enter: 5678901Reverse of the input number is:1098765
示例:反转已经初始化的数字
在上述所有程序中,我们正在提示用户输入数字,但是如果不想要用户交互部分并且想要反转初始化数字那么这就是你能行的。
class ReverseNumberDemo{ public static void main(String args[]) { int num=123456789; int reversenum =0; while( num != 0 ) { reversenum = reversenum * 10; reversenum = reversenum + num%10; num = num/10; } System.out.println("Reverse of specified number is: "+reversenum); }}输出:
Reverse of specified number is: 987654321
