首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

一个用java兑现逆序输出一个数字的算法

2012-08-09 
一个用java实现逆序输出一个数字的算法。这是一个用java实现逆序输出一个数字的方法。 比如输入12345输出543

一个用java实现逆序输出一个数字的算法。
这是一个用java实现逆序输出一个数字的方法。

比如输入12345输出54321 其实在网上也能找到一个利用数学计算三行就搞定的方法,还有一个利用正则表达式的方法也都能实现。 下面发上来我的代码

这是第一个实现方法。是利用数学计算得来的。


public class getNum2 {    public static void main(String[] args) {         int to array of int int i1 = 12345; while (i1 >= 1) {         System.out.println(i1 % 10); i1 /= 10;    }}

下面是我自己写过的方法(里面也附带了网上找到的一个利用正则表达式的方法)

其实我的方法比较繁琐,速度慢,但是有一个优点,就是我输入的不一定是数字,所以理论上来讲可以逆转一个无限大的数。
package rnd; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner; public class getNum {    public static void main(String[] args) {        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));        try {            System.out.println(get(Long.parseLong(br.readLine())));        } catch (NumberFormatException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }     }     public static long get(Long num) {        String s = String.valueOf(num);        byte[] by = s.getBytes();        byte[] by2 = new byte[by.length];        int t = by.length - 1;        for (int i = 0; i <= by.length - 1; i++) {            by2[t] = by[i];            t--;        }        return Long.parseLong(new String(by2));    }     // 这个是在网上找到的方法,不过缺陷是要确定位数。    public static long get2(Long num) {        String s = String.valueOf(num);        String s2;        System.out.print("请输入你想逆转的数字");        Scanner input = new Scanner(System.in);        s2 = s.replaceAll("([0-9])([0-9])([0-9])([0-9])([0-9])", "$5$4$3$2$1");        return Long.parseLong(new String(s2));    } }
1 楼 <>++< 2011-11-17   也没什么难的啊 5行代码搞定(其实就是一个reverse方法):
System.out.println("请输入你想逆转的数字");
Scanner input = new Scanner(System.in);
StringBuilder sb = new StringBuilder(input.nextLine().toString());
sb.reverse();
System.out.print(sb);
2 楼 leavesforeye 2011-11-17   <>++< 写道也没什么难的啊 5行代码搞定(其实就是一个reverse方法):
System.out.println("请输入你想逆转的数字");
Scanner input = new Scanner(System.in);
StringBuilder sb = new StringBuilder(input.nextLine().toString());
sb.reverse();
System.out.print(sb);

其实如果不用reverse方法的话,代码是一样的 3 楼 zqb666kkk 2012-02-29   可以用 栈实现 栈自带有这个功能 4 楼 leavesforeye 2012-02-29   自带的话 new StringBuffer().reverse()不是更简单,哈哈。

热点排行