[NOIP2011 普及组] 数字反转 - 洛谷https://www.luogu.com.cn/problem/P1307
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int N=sc.nextInt();int fanzhuanNum=fanZhuan(N);System.out.print(fanzhuanNum);}public static int fanZhuan(int N) {int fanzhuanNum=0;while(N!=0) {int d=N%10;fanzhuanNum=fanzhuanNum*10+d;N=N/10;}return fanzhuanNum;}
}
这个程序中,fanZhuan() 方法接受一个整数作为参数,并使用循环逐位取出原数的数字并加到反转后的结果中。具体步骤如下:
使用 while 循环,当原数 ( N ) 不为零时执行。
每次循环中,通过取余操作 N % 10 获取数的最低位数字。
将最低位数字加到反转后的结果中,同时通过乘以 10 将之前得到的结果向左移动一位。
将原数除以 10,去掉已经处理过的最低位数字。
循环直到原数 ( N ) 变为零,此时反转后的结果即为所求。
最后,返回反转后的结果即可。