首页
IT
登录
6mi
u
盘
搜
搜 索
IT
Java随机生成定长纯数字或数字字母混合数
Java随机生成定长纯数字或数字字母混合数
xiaoxiao
2021-04-11
33
import java.util.Random; public class RandomCharData { //可以将字符转换赋值给int类型,查看其ASCII码 public static void main(String[] args) { //随机生成纯数字 for(int i=0;i<15;i++) createData(20); System.out.println("---------------"); //生成数字字母 for(int i=0;i<15;i++) createRandomCharData(20); } //根据指定长度生成字母和数字的随机数 //0~9的ASCII为48~57 //A~Z的ASCII为65~90 //a~z的ASCII为97~122 public static void createRandomCharData(int length) { StringBuilder sb=new StringBuilder(); Random rand=new Random();//随机用以下三个随机生成器 Random randdata=new Random(); int data=0; for(int i=0;i<length;i++) { int index=rand.nextInt(3); //目的是随机选择生成数字,大小写字母 switch(index) { case 0: data=randdata.nextInt(10);//仅仅会生成0~9 sb.append(data); break; case 1: data=randdata.nextInt(26)+65;//保证只会产生65~90之间的整数 sb.append((char)data); break; case 2: data=randdata.nextInt(26)+97;//保证只会产生97~122之间的整数 sb.append((char)data); break; } } String result=sb.toString(); System.out.println(result); } //根据指定长度生成纯数字的随机数 public static void createData(int length) { StringBuilder sb=new StringBuilder(); Random rand=new Random(); for(int i=0;i<length;i++) { sb.append(rand.nextInt(10)); } String data=sb.toString(); System.out.println(length+" random data: "+data); }
/** * 随机生成字母加数字的密码 * @param lengths 密码的位数 * @return */ public String getStringRandom(int lengths) { String val = ""; Random random = new Random(); //参数lengths,表示生成几位随机数 for (int i = 0; i < lengths; i++) { String strOrNum = random.nextInt(2) % 2 == 0 ? "str":"num"; //随机输出是字母还是数字 if ("str".equalsIgnoreCase(strOrNum)) { //随机输出是大写字母还是小写字母 int temp = random.nextInt(2)%2 == 0 ? 65:97; val += (char)(random.nextInt(26)+temp); }else if("num".equalsIgnoreCase(strOrNum)){ val += String.valueOf(random.nextInt(10)); } } return val; }
}
转载请注明原文地址: https://ju.6miu.com/read-666980.html
技术
最新回复
(
0
)