java数值倒序返回值

问题遇到的现象和发生背景

做东西时用到的

问题相关代码,请勿粘贴截图
public static int fanzhuan(int s) {
        int a = 0;
         while(s!=0){
                 a=s%10;
                System.out.print(a);
                s=s/10; 
            }
         return a ; 
        
    }

我想要达到的结果

数字是单个的怎么拿来用,让他返回一个倒序的数值

你是要把数字反转吗,思路是:先分解数字的每一位存入数组,然后倒序访问数组,用数组的元素拼接出反转的数,下面是数字反转的一个实现:

import java.util.Scanner;

public class Reverse {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        System.out.println(num+"数字反转后是:"+fanzhuan(num));
        
        
        
    }
    

    public static int fanzhuan(int s) {
        int a = 0;
        int revNum=0; //存储反转后的数字
        int []arr = new int[11];  //存储从s中取出的每一个数位
        int i=0;
        
        while(s!=0){  //从s中分解每一位存入到数组arr
                a=s%10;
                arr[i]=a;
                i++;
                //System.out.print(a);
                s=s/10; 
            }
        
        int j;
        int weight=1;  //每一数位的值要乘以10的几次方,个位是1
        for(j=i-1;j>=0;j--) {  //访问存储s每一位的数组,把它反转拼接出一个新数字
            revNum += arr[j]*weight;
            weight*=10;
        }
        
        
         return revNum ; 
        
    }
 
}


img

可以参考下

 public static int fanzhuan(Integer s) {
        int result = 0;
        int count = s.toString().length()-1;
        while(s!=0){
            int a = s%10;
            s = s/10;
            result += a*Math.pow(10d, count--);
        }
        return result ;
    }

return Collections.reverse(Arrays.asList(String.valueOf(a).split("")))
一句解决