Java 反转数字程序

如何使用 while 循环、for 循环、内置反转函数、函数和递归来编写一个 Java 反转数字的程序。没有直接的方法,您必须使用逻辑来提取数字的最后一位,将其添加到第一位,然后重复该过程,直到所有数字都完成。

Java 使用 while 循环反转数字的程序

此程序允许用户输入任何正整数,然后它将使用 while 循环反转数字。

package SimplerPrograms;

import java.util.Scanner;

public class ReverseNumberUsingWhile {
	private static Scanner sc;
	
	public static void main(String[] args) {
		int Number, Reminder, Reverse = 0;
		sc = new Scanner(System.in);
		
		System.out.println("\n Please Enter any Number you want to Reverse : ");
		Number = sc.nextInt();
		
		while(Number > 0) {
			Reminder = Number %10;
			Reverse = Reverse * 10 + Reminder;
			Number = Number /10;
		}
		System.out.format("\n Reverse of entered number is = %d\n", Reverse);
	}
}
Reverse a Number in Java Using While Loop

反转数字的第一个 System.out.println 语句将显示在双引号内。接下来,我们将用户输入的  值赋给一个整数变量(Number)

下一行,我们使用了 Java While 循环,while 循环内的条件将确保给定数字大于 0(即正整数)

从上面的 Java 截图中,用户输入的  值:Number= 9875 and Reverse= 0。

Java 反转数字的第一次迭代

Reminder = Number % 10
Reminder = 9875 % 10 = 5

Reverse= Reverse* 10 + Reminder
Reverse= 0 * 10 + 5 = 5

Number= Number/ 10
Number= 9875 /10 = 987

第二次迭代:从第一次迭代开始,Number 和 Reverse 两个变量的值都已更改,变为 Number= 987 and Reverse= 5。

  • Reminder = 987 % 10 = 7
  • Reverse= 5 * 10 + 7 = 50 + 7 = 57
  • Number= 987 /10 = 98

第三次迭代:从第二次迭代开始,Number= 98 and Reverse= 57

  • Reminder = 98 % 10 = 8
  • Reverse= 57 * 10 + 8 = 570 + 8 = 578
  • Number = 98 / 10 = 9

第四次迭代:从第三次迭代开始,Number= 9 and Reverse= 578

  • Reminder = 9 %10 = 9
  • Reverse= 578 * 10 + 9 = 5780 + 9 = 5789
  • Number = 9 / 10 = 0

在这里,对于下一次迭代,Number = 0。因此,while 循环条件将失败。

Java 使用 for 循环反转数字的程序

此程序允许用户输入任何正整数,然后它将使用 for 循环反转数字。

import java.util.Scanner;

public class Example {	
	
	private static Scanner sc;	
	
	public static void main(String[] args) 
	{	
		int num, Reminder, rv;
		sc = new Scanner(System.in);
		
		System.out.println("\n Please Enter any Number you want : ");
		num = sc.nextInt();
		
		for(rv = 0; num > 0; num = num/10) {
			Reminder = num %10;
			rv = rv * 10 + Reminder;
		}
		System.out.format("\n Reverse of entered is = %d\n", rv);
	}
}

使用 for 循环输出。

我们只是将上面示例中的 while 循环替换为 Java For 循环

使用 String Buffer

此 Java 程序允许用户输入任何正整数,然后它将使用内置的 String Buffer 反转函数来反转数字。

package SimplerPrograms;

import java.util.Scanner;

public class ReverseNumberUsingSTring {
	private static Scanner sc;

	public static void main(String[] args) {
		int num;
		sc = new Scanner(System.in);
		
		System.out.println("\n Please Enter any Integer : ");
		num = sc.nextInt();
		
		String str = Integer.toString(num);
		String rev = new StringBuffer(str).reverse().toString();
		System.out.format("\n Result = %s", rev);
	}
}
 Please Enter any Integer : 
6597213

 Result = 3127956

以下语句会将整数值转换为字符串值,并将转换后的值赋给 Str 变量。

String str = Integer.toString(num);

接下来,我们使用 String Buffer 反转函数来反转数字字符串。

String rev = new StringBuffer(str).reverse().toString();

最后,我们显示反转后的字符串值

System.out.format("\n Result = %s", rev);

Java 使用函数反转数字的程序

在这个 Java 程序中,我们使用与第一个示例相同的步骤,但我们将逻辑分离出来并将其放在一个单独的方法中。

import java.util.Scanner;

public class Example {	
	
	private static Scanner sc;	
	
	private static int rv = 0;
	
	public static void main(String[] args) 
	{
		int num;
		sc = new Scanner(System.in);
		
		System.out.println("\n Please Enter any Number you want  : ");
		num = sc.nextInt();
		
		rv = rvnum(num);
		System.out.format("\n Reverse of entered is = %d\n", rv);
	}
	
	public static int rvnum(int num) {
		int Reminder;
		while(num > 0) {
			Reminder = num %10;
			rv = rv * 10 + Reminder;
			num = num /10;
		}
		return rv;
	}
}
Reverse a Number Using Functions

如果观察以下语句,我们正在调用 rvnum(num) 方法并将返回值赋给整数变量 Reverse。

rv = rvnum(num);

当编译器在 main() 程序中遇到 rvnum(int num) 行时,编译器将立即跳转到下面的函数。

public static int rvnum(int num) {

Java 使用递归反转数字的程序

这个 程序允许用户输入任何正整数,然后它将使用递归概念反转给定的数字。在这个例子中,我们将代码通过面向对象编程进行划分。为此,我们首先创建一个带有递归反转整数方法的类。

package SimplerPrograms;

public class ReverseNumber {
	int Reverse = 0, Reminder;
	public int NumberReverse(int Number) {
		if(Number > 0) {
			Reminder = Number %10; 
			Reverse = Reverse * 10+ Reminder;
			NumberReverse(Number /10);
		}
		return Reverse;
	}

}

在主程序中,我们将创建上述类的实例并调用方法。

package SimplerPrograms;

import java.util.Scanner;

public class RevNumbUsingClass {
	private static Scanner sc;

	public static void main(String[] args) {
		int Number, Rev = 0;
		sc = new Scanner(System.in);
		
		System.out.println("\n Please Enter any Number you want : ");
		Number = sc.nextInt();
		
		ReverseNumber rn = new ReverseNumber();
		Rev = rn.NumberReverse(Number);
		System.out.format("\n Reverse of entered number is = %d\n", Rev);
	}
}

使用 Oops 输出反转数字。

Java Program to Reverse a Number using Recursion

ReverseNumber 类分析

首先,我们声明了一个带有一个参数的整数函数 NumberReverse。在函数中,我们使用 If 语句检查给定数字是否大于零,如果为真,则执行 If 块内的语句。我们已经在上面的示例中解释了逻辑。

注意:NumberReverse (Number / 10) 语句将帮助递归调用函数,并更新值。如果您遗漏了此语句,它将在完成第一行后终止。

Main Class 分析:首先,我们创建了 ReverseNumber 类的一个实例/对象。

ReverseNumber rn = new ReverseNumber();

接下来,我们调用 NumberReverse 方法。

Reverse = rn.NumberReverse(Number);

最后,System.out.println 语句将打印输出。