如5669977889=>9887799665
知道的请告诉下,感谢~

解决方案 »

  1.   

    package test;import java.math.BigDecimal;public class Tt {    public static void main(String[] args) {        BigDecimal b = null;
            String s = "";        BigDecimal big = new BigDecimal("5669977889");
            String sBig = String.valueOf(big);
            for (int i = sBig.length(); i > 0; i--) {
                s += String.valueOf(sBig.charAt(i-1));
            }
            b = new BigDecimal(s);
            System.out.println(b);
        }
    }
      

  2.   

    方法很多:
    long n = 5669977889L; // 注意数字的范围.
    long result = 0;while (n != 0) {
        result = result * 10 + n % 10;
        n /= 10;
    }还有一个很显明的特征, 就是这个题的要求很符合栈的特点, 所以用栈来做也不错.
      

  3.   

    定义两个长整形数字 循环 b+=(a%10^(x-i))*10^i  x 是数字的位数,i是循环变量,一个比较菜的办法。
      

  4.   

     应该是b=(a%10^(x-i))+b*10 呵呵就是4楼的方法
      

  5.   


    static int reserver(int num)
    {
     int returnnum=0;
     int yushu=0;
    while(num>9)
    {
       yushu=num/10;
       num=num%10;
       returnnum=returnnum*10+yushu;
    }
    return returnnum*10+num;
    }這是華為的面試題啊!我上次在JAVAEYE看到的
      

  6.   

    方法一:
    long n = 827328929L; // 注意数字的范围. 
    long result = 0; while (n != 0) { 
    result = result * 10 + n % 10; 
    n /= 10; 
    } 还有一个很显明的特征, 就是这个题的要求很符合栈的特点, 所以用栈来做也不错.方法二:
    Java codestatic int reserver(int num)
    {
    int returnnum=0;
    int yushu=0;
    while(num>9)
    {
    yushu=num%10;
    num=num/10;
    returnnum=returnnum*10+yushu;
    }
    return returnnum*10+num;
    }