利用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,美国信息交换标准代码)是 ...
随机推荐
- 为什么新生代内存需要有两个Survivor区
转载自:http://blog.csdn.net/antony9118/article/details/51425581 在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区? ...
- easyui问题小结(转)
问题一:如何将easyui的west面板上的收缩箭头隐藏? 如图效果: 做法: <div data-options="region:'west'" style="w ...
- easyUI自带的时间插件日期选择、月份选择、时间选择的使用(转)
1.日期选择 只要将class设置成easyui-datebox就可以了,当然前提是已经应用了easyui的js <input type="text" class=" ...
- 【windows】常用快捷键
浏览器 ctrl shift del 清除网页缓存 文件系统 win+e 打开文件窗口 win+r 运行命令窗口 win+l 锁定桌面 win+m 最小化窗口 ctrl+shift +n 创建文件夹
- python 打印三级菜单
要求: 1.用户选择城市菜单编号显示对应的下级菜单 2.可以返回上级菜单,只有在用户确定正常退出时才退出 #!/usr/bin/env python3 # -*- coding: utf-8 -*- ...
- [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第1讲(实现思路与游戏界面的实现)
整体效果展示: 一.实现思路 如图,这是我完成该项目的一个逻辑图,也是一个功能模块完成的顺序图. 游戏界面的完成 英雄飞机对象实现,在实现发射子弹方法过程中,又引出了子弹对象并实现.在此时,英雄飞机能 ...
- JavaScript 30 - 2 学习笔记
学习JavaScirpt30的笔记! 有意思! 2-------> CSS clock 效果是这样的.... 这是改良过后的 版本.... 话不多说,直接来看代码. 首先是html部分 &l ...
- 使用 qemu 搭建内核开发环境
本文主要介绍在 MacOS 上使用 qemu 搭建 Linux Kernel 的开发环境.(在开始之前需要注意的是,本文中的 Linux 开发环境是一个远程服务器,而 qemu 被安装在本地的 Mac ...
- autoconf添加gcc调试选项
autoconf生成的编译选项默认是"-g -O2".这个"-g"选项将我迷惑了,以为生成了GDB调试所需的信息,所以也就没有管后面的"-O2“选 ...
- 用JS制作一个信息管理平台
首先,介绍一些需要用到的基本知识. [JSON] JSON是数据交互中,最常用的一种数据格式. 由于各种语言的语法都不相同,在传递数据时,可以将自己语言中的数组.对象等转换为JSON字符串. 传递之后 ...