如何使用 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);
}
}

反转数字的第一个 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;
}
}

如果观察以下语句,我们正在调用 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 输出反转数字。

ReverseNumber 类分析
首先,我们声明了一个带有一个参数的整数函数 NumberReverse。在函数中,我们使用 If 语句检查给定数字是否大于零,如果为真,则执行 If 块内的语句。我们已经在上面的示例中解释了逻辑。
注意:NumberReverse (Number / 10) 语句将帮助递归调用函数,并更新值。如果您遗漏了此语句,它将在完成第一行后终止。
Main Class 分析:首先,我们创建了 ReverseNumber 类的一个实例/对象。
ReverseNumber rn = new ReverseNumber();
接下来,我们调用 NumberReverse 方法。
Reverse = rn.NumberReverse(Number);
最后,System.out.println 语句将打印输出。