概述
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; }
}
最后
以上就是风中朋友为你收集整理的Java随机生成定长纯数字或数字字母混合数的全部内容,希望文章能够帮你解决Java随机生成定长纯数字或数字字母混合数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复