/**
* 获取指定长度的随机码
* @param length 指定生成的长度
* @param bigchar 是否包含大写字母 true为包含,false 不包含,下面参数一样
* @param smallchar 是否包含小写字母
* @param num 是否包含数字
* @return result 返回String
* */
public static String code(int length,boolean bigchar,boolean smallchar,boolean num) {
char[] result = new char[length];
int i = 0;
if(!bigchar && smallchar && num){//小写字母与数字结合
while(i<length) {
int f = (int) (Math.random()*2);//0-1
if(f==0){
result[i] = (char) ('a'+Math.random()*26);
}else{
result[i] = (char) ('0'+Math.random()*10);
}
i++;
}
}else if(bigchar && num && !smallchar){//大写字母与数字的结合
while(i<length) {
int f = (int) (Math.random()*2);
if(f==0)
result[i] = (char) ('A'+Math.random()*26);
else{
result[i] = (char) ('0'+Math.random()*10);
}
i++;
}
}else if(bigchar && smallchar && !num){//大写字母与小写字母结合
while(i<length) {
int f = (int) (Math.random()*2);
if(f==0)
result[i] = (char) ('A'+Math.random()*26);
else{
result[i] = (char) ('a'+Math.random()*26);
}
i++;
}
}else if(bigchar && smallchar && num){//大写字母与小写字母与数字结合
while(i<length) {
int f = (int) (Math.random()*3);//0-2
if(f==0)
result[i] = (char) ('A'+Math.random()*26);
else if(f==1){
result[i] = (char) ('a'+Math.random()*26);
}else{
result[i] = (char) ('0'+Math.random()*10);
}
i++;
}
}else if(!bigchar && !smallchar && num){//纯数字
while(i<length) {
result[i] = (char) ('0'+Math.random()*10);//0-9
i++;
}
}else if(bigchar && !smallchar && !num){//纯大写字母
while(i<length) {
result[i] = (char) ('A'+Math.random()*26);
i++;
}
}else if(!bigchar && smallchar && !num){//纯小写字母
while(i<length) {
result[i] = (char) ('a'+Math.random()*26);
i++;
}
}else{
return "Do it by yourself";
}
return new String(result);
}
* 获取指定长度的随机码
* @param length 指定生成的长度
* @param bigchar 是否包含大写字母 true为包含,false 不包含,下面参数一样
* @param smallchar 是否包含小写字母
* @param num 是否包含数字
* @return result 返回String
* */
public static String code(int length,boolean bigchar,boolean smallchar,boolean num) {
char[] result = new char[length];
int i = 0;
if(!bigchar && smallchar && num){//小写字母与数字结合
while(i<length) {
int f = (int) (Math.random()*2);//0-1
if(f==0){
result[i] = (char) ('a'+Math.random()*26);
}else{
result[i] = (char) ('0'+Math.random()*10);
}
i++;
}
}else if(bigchar && num && !smallchar){//大写字母与数字的结合
while(i<length) {
int f = (int) (Math.random()*2);
if(f==0)
result[i] = (char) ('A'+Math.random()*26);
else{
result[i] = (char) ('0'+Math.random()*10);
}
i++;
}
}else if(bigchar && smallchar && !num){//大写字母与小写字母结合
while(i<length) {
int f = (int) (Math.random()*2);
if(f==0)
result[i] = (char) ('A'+Math.random()*26);
else{
result[i] = (char) ('a'+Math.random()*26);
}
i++;
}
}else if(bigchar && smallchar && num){//大写字母与小写字母与数字结合
while(i<length) {
int f = (int) (Math.random()*3);//0-2
if(f==0)
result[i] = (char) ('A'+Math.random()*26);
else if(f==1){
result[i] = (char) ('a'+Math.random()*26);
}else{
result[i] = (char) ('0'+Math.random()*10);
}
i++;
}
}else if(!bigchar && !smallchar && num){//纯数字
while(i<length) {
result[i] = (char) ('0'+Math.random()*10);//0-9
i++;
}
}else if(bigchar && !smallchar && !num){//纯大写字母
while(i<length) {
result[i] = (char) ('A'+Math.random()*26);
i++;
}
}else if(!bigchar && smallchar && !num){//纯小写字母
while(i<length) {
result[i] = (char) ('a'+Math.random()*26);
i++;
}
}else{
return "Do it by yourself";
}
return new String(result);
}