为了满足公司需求,网上找了个生成兑换码的工具类,自己又稍微修改了下,生成了这种格式的 5JR2-7LFV-FF37-4RD8。
因为加了每4位后加一个“-”,所以在生成的时候长度需要传4的倍数,那样生成的兑换码才好看。。。
忘记了从哪摘抄的了,在此表示抱歉,找到之后会加上。
public class RedeemCodeUtils {
public static void main(String[] args) {
String st1 = createBigSmallLetterStrOrNumberRadom(16); String st2 = createSmallStrOrNumberRadom(16); String st3 = createBigStrOrNumberRadom(16); System.out.println(st1); System.out.println(st2); System.out.println(st3); for (int i=0;i<100;i++) {
System.out.println(createBigStrOrNumberRadom(16)); } } / * * @function 生成num位的随机字符串(数字、大写字母随机混排) * @param num * @return */ public static String createBigSmallLetterStrOrNumberRadom(int num) {
StringBuilder str = new StringBuilder(); for(int i=1;i <= num;i++){
int intVal=(int)(Math.random()*58+65); if(intVal >= 91 && intVal <= 96){
i--; } if(intVal < 91 || intVal > 96){
if(intVal%2==0){
str.append((char) intVal); }else{
str.append((int) (Math.random() * 10)); } if(i%4==0){
str.append("-"); } } } return str.substring(0,str.length()-1); } / * * @function 生成num位的随机字符串(数字、小写字母随机混排) * @param num * @return */ public static String createSmallStrOrNumberRadom(int num) {
StringBuilder str = new StringBuilder(); for(int i=1;i <= num;i++){
int intVal=(int)(Math.random()*26+97); if(intVal%2==0){
str.append((char) intVal); }else{
str.append((int) (Math.random() * 10)); } if(i%4==0){
str.append("-"); } } return str.substring(0,str.length()-1); } / * * @function 生成num位的随机字符串(小写字母与数字混排) * @param num * @return */ public static String createBigStrOrNumberRadom(int num) {
StringBuilder str = new StringBuilder(); for(int i=1;i <= num;i++){
int intVal=(int)(Math.random()*26+65); if(intVal%2==0){
str.append((char) intVal); }else{
str.append((int) (Math.random() * 10)); } if(i%4==0){
str.append("-"); } } return str.substring(0,str.length()-1); } }
今天的文章
Java生成兑换码分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/92067.html