1. /**
  2. * 上送终端编号的后两位生成规则 总共可以生成 (36*36-1)1295个编号
  3. * 01...09 0A...0Z
  4. * 10...19 1A...1Z
  5. * ...............
  6. * A0...A9 AA...AZ
  7. * ...............
  8. * Z0...Z9 ZA...ZZ
  9. */
  10. public String generateNumber(String number){
  11. String ret=number.substring(0,number.length()-2); //取前半部分
  12. number=number.substring(number.length()-2); //取最后两位
  13. // 取第一个字符
  14. char ch1=number.charAt(0);
  15. char ch2=number.charAt(1);
  16.  
  17. //生成第二个字符串
  18. if(number.equals("ZZ")){ //达到上限 ZZ,不使用生成规则生成
  19. return null;
  20. }
  21. if(ch2<'Z'){
  22. //因为9的下一个字母是A
  23. if(ch2=='9'){
  24. ch2='A';
  25. }else{
  26. ch2+=1;
  27. }
  28. ret=ret+""+ch1+ch2;
  29. }else{
  30. //第一个字符加1;第二个字符为0
  31. if(ch1=='9'){
  32. ch1='A';
  33. }else{
  34. ch1+=1;
  35. }
  36. ret=ret+""+ch1+0;
  37. }
  38.  
  39. return ret;
  40. }
  1. public static void main(String[] args){
  2. String[] arr={"01","09","0A","0Y","0Z","90","99","9B","9Z","A0","AZ","Z0","ZY","ZZ"};
  3. for(String arr1:arr){
  4. System.out.println("--->:"+test(arr1));
  5. }
  6.  
  7. }
  1. /**
  2. * 生成上送终端编号的后两位规则 总共可以生成 (62*62-1)3843个编号
  3. * 01...09 0A...0Z 0a...0z
  4. * 10...19 1A...1Z 1a...1z
  5. * .......................
  6. * A0...A9 AA...AZ Aa...Az
  7. * .......................
  8. * Z0...Z9 ZA...ZZ Za...Zz
  9. * a0...a9 aA...aZ aa...az
  10. * .......................
  11. * z0...z9 zA...zZ za...zz
  12. */
  13. public String generateNumber(String number){
  14. String ret=number.substring(0,number.length()-2); //取前半部分
  15. number=number.substring(number.length()-2); //取最后两位
  16. // 取第一个字符
  17. char ch1=number.charAt(0);
  18. char ch2=number.charAt(1);
  19.  
  20. //生成第二个字符串
  21. if(number.equals("zz")){ //达到上限 zz,不使用生成规则生成
  22. return null;
  23. }
  24. if(ch2<'z'){
  25. //因为9的下一个字母是A
  26. if(ch2=='9'){
  27. ch2='A';
  28. } else if(ch2=='Z'){
  29. ch2='a';
  30. }else{
  31. ch2+=1;
  32. }
  33. ret=ret+""+ch1+ch2;
  34. }else{
  35. //第一个字符加1;第二个字符为0
  36. if(ch1=='9'){
  37. ch1='A';
  38. }else if(ch1=='Z'){
  39. ch1='a';
  40. }else{
  41. ch1+=1;
  42. }
  43. ret=ret+""+ch1+0;
  44. }
  45.  
  46. return ret;
  47. }

利用ASCII码生成指定规则的字符串的更多相关文章

  1. 利用ascii码生成26个英文字母

    <script> let a = ""; for (var i = 65; i < 91; i++) { a += String.fromCharCode(i); ...

  2. 随机生成指定长度字符字符串(C语言实现)

    相关函数 srand(), rand()头文件#include<stdlib.h> 定义函数 int rand(void) 函数说明 rand()会返回一随机数值,范围在0至RAND_MA ...

  3. julia生成指定格式的字符串.jl

    julia生成指定格式的字符串.jl """ julia生成指定格式的字符串.jl http://bbs.bathome.net/thread-39829-1-1.htm ...

  4. php随机生成指定长度的字符串 可以固定数字 字母 混合

    php 生成随机字符串 可以指定是纯数字 还是纯字母 或者混合的. 可以指定长度的. function rand_zifu($what,$number){ $string=''; for($i = 1 ...

  5. [Javascript]利用当前时间生成yyyymmddhhmmss这样的字符串

    function pad2(n) { return n < 10 ? '0' + n : n } function generateTimeReqestNumber() { var date = ...

  6. 字符串/16进制/ASCII码的转换

    1 /// <字符串转16进制格式,不够自动前面补零> 2 /// 假设文本框里面填写的是:01 02 03 04 05 06 3 /// Str获取的是01 02 03 04 05 06 ...

  7. 什么是ASCII码?

    ㈠定义 ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现 ...

  8. ASCII码(转)

    ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧 ...

  9. ASCII码

    ASCII(pronunciation: /ˈæski/ ASS-kee,American Standard Code for Information Interchange,美国信息交换标准代码)是 ...

随机推荐

  1. 【Centos7】hostnamectl 设置主机名

    Centos7中提供了设置主机名的工具 hostnamectl hostname有三种状态 static(永久) transient(瞬态) pretty (灵活) 查看主机名状态 [oracle@h ...

  2. <花儿与少年>之一些很喜欢的台词收藏

    花儿与少年... ================= 作为一个普通观众,现在这样的花少冒险之旅很好,有旅行.有冒险.有不和.有理解,有时候节目为了效果要制造一些争锋相对的场面,但是除此之外,整个节目质 ...

  3. Python包管理工具和多版本环境管理

    1. Python包管理工具 在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_instal ...

  4. hdu4675 GCD of Sequence

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4675 题意: 给定一个长度为n的序列a,且 1<=a[i]<=m,求分别有多少个序列b,使 ...

  5. JSP慕课网阶段用户登录小例子(不用数据库)

    getAttribute和setAttribute一起使用,而getParameter用于取得如request传来的参数. Web是请求/响应架构的使用,而request和response就是在服务器 ...

  6. python基础教程(七)

    本章介绍如何将语句组织成函数,这样,可以告诉计算机如何做事. 下面编写一小段代码计算婓波那契数列(前两个数的和是第三个数)   fibs = [0,1] # 定义一个列表,初始内容是0,1 for i ...

  7. Cognos 11.0快速开发指南 Ⅱ

    1.    创建报表 在创建好数据源之后,我们就可以创建报表了,报表的开发是浏览器中完成的,这里我选用了chrome浏览器,在地址栏输入:http://localhost:80/ibmcognos ( ...

  8. 最新城市二级联动json(2017-09)

    { '安徽': [ '合肥', '芜湖', '蚌埠', '淮南', '马鞍山', '淮北', '铜陵', '安庆', '黄山', '阜阳', '宿州', '滁州', '六安', '宣城', '池州', ...

  9. NHibernte教程(10)--关联查询

    本节内容 关联查询引入 一对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 关联查询引入 在NHibernate中提供了三种查询方式给我们选择:NH ...

  10. shell下office、html、pdf文档互转方法

     分类: 后台开发 版权声明:本文为博主原创文章,未经博主允许不得转载.   OFFICE 文档在线预览方案很多: 服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览,比如flexp ...