一个用java实现逆序输出一个数字的算法。_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 一个用java实现逆序输出一个数字的算法。

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

 2011/11/10 9:27:36  leavesforeye  http://c5ms.iteye.com  我要评论(0)
  • 摘要:这是一个用java实现逆序输出一个数字的方法。比如输入12345输出54321其实在网上也能找到一个利用数学计算三行就搞定的方法,还有一个利用正则表达式的方法也都能实现。下面发上来我的代码这是第一个实现方法。是利用数学计算得来的。publicclassgetNum2{publicstaticvoidmain(String[]args){inttoarrayofintinti1=12345;while(i1>=1){System.out.println(i1%10);i1/=10;}
  • 标签:实现 输出 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));
    }
 
}
发表评论
用户名: 匿名