加密生成指定长度_那些奇奇怪怪的需求(一):PinyinHelper的使用、生成指定长度的随机码...

背景:

需求是要给每条数据生成一个字符拼音首字母+6位字母数字的随机码。嗯简单易懂。


1、生成6位长度的随机码。

这玩意还挺好理解的,首先明白字符串String是由一个一个char字符组成的数组(字面理解)。String里面有个方法charAt(int i),i参数是指String字符串的下标索引(也就是char[]数组的下标索引),

比如一个

String str = "哈哈哈123abc";//这里不分中英文数字限制,一个字符就占用一个位置

System.out.println(str.charAt(2));//很容易得到一个哈

所以现在就这样,看需求是要生成6个长度的数字+大小写字母混合,那我们就先声明一个字符串存储所有数字和英文字符,之后写一个循环,出口为长度6,用StringBuilder每次添加一个就行了。很容易得到代码:

8a6aee5733cda51ef381fc5d2bc3d519.png


完整代码

957d11b1c8d08fc62b8c48f446006331.png


测试


2、获取字符拼音首字母。

这个需求也好理解,就好像输入【搞黄色】,能得到【GHS】一样。菜鸡的我一看到需求其实不知道怎么下手,毕竟短暂的生涯中暂时还没写过跟中文字符打交道的代码,不过作为一名合格的CV战士,通过网上冲浪,知道了别人已经造好了轮子,有个PinYin4j的东西,专门用来获取指定字符(参数也都是用char字符接收)的拼音。

舒服啊大神还是多,所以马上就用了起来,

首先maven引入依赖:

45e7bb3a195a4fa827c88510596642af.png


依赖

代码简单粗暴,直接拿PinyinHelper工具类使用就行了。

854143b6950925ee1db31bea051d524d.png

这里我们可以很容易发现一个方法:toHanyuPinyinStringArray(char ch),返回是String数组,测试一下很容易能得出结论。

a02d65bcc7433c7fc3c8abb68a03115a.png


多音字也能都把各种拼音打印出来

不过方法里面每次只能输入一个字,需求是需要字符串,也就是多个字符组成的,所以我们就自己改造一下方法。String有个toCharArray()方法,就是把字符串转化为字符数组,因此很容易可以写出来。

465a70f53c2dbc4ace4ba3997f5caf27.png


完整代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值