当前位置: 代码迷 >> J2SE >> 请教这个题该怎么干净利落的解决
  详细解决方案

请教这个题该怎么干净利落的解决

热度:53   发布时间:2016-04-24 01:01:48.0
请问这个题该如何干净利落的解决?
题目:
输入一个正整数,将其数字逆转。如:12345 处理后 54321


这个题很简单,但是我做不出一个通用公式(如3位数,5位数,7位数的方法不太一样),求高手指点逻辑思维。

如果固定三位数,我就是用数组,提取余数,然后颠倒排列输出……

求如何在不确定输入几位数的情况下,顺利逆转数字?

------解决方案--------------------
Java code
package org.cai.bean;public class Test {    public static int reverseInt(int value){                String tmp = String.valueOf(value) ;        char[] arr = tmp.toCharArray() ;        char ch ;        for (int i = 0; i < arr.length/2; i++){            ch = arr[i] ;            arr[i] = arr[arr.length-1-i] ;            arr[arr.length-1-i] = ch ;                    }            tmp = new String(arr) ;                return Integer.valueOf(tmp) ;            }    public static void main(String[] args) {        System.out.println("123 -->" + Test.reverseInt(123)) ;        System.out.println("4560 -->" + Test.reverseInt(4560)) ;    }}
------解决方案--------------------
Java code
package org.cai.bean;public class Test {    public static int reverseInt(int value){                String tmp = String.valueOf(value) ;//整数换成为字符串        StringBuffer sb = new StringBuffer(tmp) ;//构建StringBuffer因为StringBuffer有互换元素位置的方法                tmp = sb.reverse().toString() ;//互换元素位置                return Integer.valueOf(tmp) ;            }    public static void main(String[] args) {        System.out.println("123 -->" + Test.reverseInt(123)) ;//不解释        System.out.println("4560 -->" + Test.reverseInt(4560)) ;    }}
  相关解决方案