利用ASCII码生成指定规则的字符串
/**
* 上送终端编号的后两位生成规则 总共可以生成 (36*36-1)1295个编号
* 01...09 0A...0Z
* 10...19 1A...1Z
* ...............
* A0...A9 AA...AZ
* ...............
* Z0...Z9 ZA...ZZ
*/
public String generateNumber(String number){
String ret=number.substring(0,number.length()-2); //取前半部分
number=number.substring(number.length()-2); //取最后两位
// 取第一个字符
char ch1=number.charAt(0);
char ch2=number.charAt(1);
//生成第二个字符串
if(number.equals("ZZ")){ //达到上限 ZZ,不使用生成规则生成
return null;
}
if(ch2<'Z'){
//因为9的下一个字母是A
if(ch2=='9'){
ch2='A';
}else{
ch2+=1;
}
ret=ret+""+ch1+ch2;
}else{
//第一个字符加1;第二个字符为0
if(ch1=='9'){
ch1='A';
}else{
ch1+=1;
}
ret=ret+""+ch1+0;
}
return ret;
}
public static void main(String[] args){
String[] arr={"01","09","0A","0Y","0Z","90","99","9B","9Z","A0","AZ","Z0","ZY","ZZ"};
for(String arr1:arr){
System.out.println("--->:"+test(arr1));
}
}
/**
* 生成上送终端编号的后两位规则 总共可以生成 (62*62-1)3843个编号
* 01...09 0A...0Z 0a...0z
* 10...19 1A...1Z 1a...1z
* .......................
* A0...A9 AA...AZ Aa...Az
* .......................
* Z0...Z9 ZA...ZZ Za...Zz
* a0...a9 aA...aZ aa...az
* .......................
* z0...z9 zA...zZ za...zz
*/
public String generateNumber(String number){
String ret=number.substring(0,number.length()-2); //取前半部分
number=number.substring(number.length()-2); //取最后两位
// 取第一个字符
char ch1=number.charAt(0);
char ch2=number.charAt(1);
//生成第二个字符串
if(number.equals("zz")){ //达到上限 zz,不使用生成规则生成
return null;
}
if(ch2<'z'){
//因为9的下一个字母是A
if(ch2=='9'){
ch2='A';
} else if(ch2=='Z'){
ch2='a';
}else{
ch2+=1;
}
ret=ret+""+ch1+ch2;
}else{
//第一个字符加1;第二个字符为0
if(ch1=='9'){
ch1='A';
}else if(ch1=='Z'){
ch1='a';
}else{
ch1+=1;
}
ret=ret+""+ch1+0;
}
return ret;
}
利用ASCII码生成指定规则的字符串的更多相关文章
- 利用ascii码生成26个英文字母
<script> let a = ""; for (var i = 65; i < 91; i++) { a += String.fromCharCode(i); ...
- 随机生成指定长度字符字符串(C语言实现)
相关函数 srand(), rand()头文件#include<stdlib.h> 定义函数 int rand(void) 函数说明 rand()会返回一随机数值,范围在0至RAND_MA ...
- julia生成指定格式的字符串.jl
julia生成指定格式的字符串.jl """ julia生成指定格式的字符串.jl http://bbs.bathome.net/thread-39829-1-1.htm ...
- php随机生成指定长度的字符串 可以固定数字 字母 混合
php 生成随机字符串 可以指定是纯数字 还是纯字母 或者混合的. 可以指定长度的. function rand_zifu($what,$number){ $string=''; for($i = 1 ...
- [Javascript]利用当前时间生成yyyymmddhhmmss这样的字符串
function pad2(n) { return n < 10 ? '0' + n : n } function generateTimeReqestNumber() { var date = ...
- 字符串/16进制/ASCII码的转换
1 /// <字符串转16进制格式,不够自动前面补零> 2 /// 假设文本框里面填写的是:01 02 03 04 05 06 3 /// Str获取的是01 02 03 04 05 06 ...
- 什么是ASCII码?
㈠定义 ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现 ...
- ASCII码(转)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧 ...
- ASCII码
ASCII(pronunciation: /ˈæski/ ASS-kee,American Standard Code for Information Interchange,美国信息交换标准代码)是 ...
随机推荐
- 第3天:CSS浮动、定位、表格、表单总结
今天学的是浮动.定位.表格.表单等内容,这些是CSS中最容易混淆的知识,有许多小技巧在写代码过程中需要注意.下面是主要知识点: 一.float浮动1.块元素在一行显示2.内联元素支持宽高3.默认内容撑 ...
- linux 下 Fatal error: Class ‘mysqli’ not found in
先试用这种方法 http://blog.csdn.net/u010429424/article/details/43063211 我不知道自己安装的php 没他们路径,所以用了以下这种方法处理,并且不 ...
- iOS项目之wifi局域网传输文件到iPhone的简单实现
如今手机发展非常迅速,app的种类也琳琅满目,而自从有了4G网之后,手机流量也越来越不够用了.所以现在越来越多的app有了本地文件的管理功能,方便用户随意浏览手机文件的同时,也为用户节约了流量的使用. ...
- 非极大值抑制(Non-Maximum Suppression,NMS)
概述 非极大值抑制(Non-Maximum Suppression,NMS),顾名思义就是抑制不是极大值的元素,可以理解为局部最大搜索.这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二 ...
- Java设计模式 (转)
设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- InvalidateRect和UpdateWindow
The UpdateWindow function updates the client area of the specified window by sending a WM_PAINT mess ...
- python -- 装饰器的高级应用
装饰器和装饰器模式装饰器模式是面向对象的一种设计模式,支持将行为动态增加到已经存在的对象上.当装饰一个对象的时候,就表示独立与其他类实例对象,为该对象扩展了新的功能. python的装饰器不是装饰器模 ...
- 在Linux 环境下搭建 JDK 和 Tomcat
在Linux 环境下搭建 JDK 和 Tomcat 参考地址:http://www.cnblogs.com/liulinghua90/p/4661424.html [JDK安装] 1.首先下载 ...
- [2015-10-11]tfs2015 vs2013 配置持续集成
今天刚配置完tfs2015+vs2013的持续集成(自动构建+自动发布),记录一下走过的坑. tfs2015和tfs build server是之前其他同事装的,略去不讲,列一下几个坑以及埋坑方法. ...
- SQL Server 2014 64位版本链接32位Oracle数据库
问题背景: 刚进入公司不久的BI新手,最近接部门的一个交接项目,需要在SQL Server上通过openquery来获取Oracle数据库的数据.各种配置,各种设置折腾了一周之久.在此,将自己的问题解 ...