本文主要是介绍Java随机生成定长纯数字或数字字母混合数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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~122public 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~9sb.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随机生成定长纯数字或数字字母混合数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!