A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 舒远 黑马帝   /  2012-9-13 17:26  /  1626 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 舒远 于 2012-9-13 17:30 编辑
  1. /**
  2. * 三种实现字符串前面补零的算法
  3. */
  4. public class RegTest {
  5.         public static void main(String[] args) {
  6.                 System.out.println(replace("123", 10));
  7.                 System.out.println(addByLength("111222333", 10));
  8.                 System.out.println(recursion ("123", 10));
  9.         }
  10.         
  11.         public static String replace(String no, int a) {
  12.                 String str = no;
  13.                 String zero = "";
  14.                 for (int i = 0; i < a; i++) {
  15.                         zero += "0";
  16.                 }
  17.                 return str.replaceAll("(\\d+)", zero + "$1").replaceAll("0*(\\d{" + a + "})", "$1");
  18.         }
  19.         
  20.         public static String addByLength(String a, int b) {
  21.                 String r = a;
  22.                 int len = b - r.length();
  23.                 for (int i = 0; i < len; i++) {
  24.                         r = "0" + r;
  25.                 }
  26.                 return r;
  27.         }
  28.         
  29.         public static String recursion(String a, int b) {
  30.                 if (b <= a.length())
  31.                         return a;
  32.                 else {
  33.                         return "0" + recursion(a, --b);
  34.                 }
  35.         }
  36. }
复制代码
各位若有其他算法,还请不吝回帖

评分

参与人数 1黑马币 +30 收起 理由
王德升 + 30 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马