题目:随机产生一个密码,要求同时包含大小写以及数字这三种字符。
import java.util.Arrays;
/**
* Created by l13560 on 2016/11/14.
*/
public class RandomPasswd {
public static String randomPasswd(int n){
if(n<3){
return null;
}
//先把前三位分别给一个小写,一个大写,一个数字,这样后面的就可以完全随机,不用担心没有大小写或者数字了
char[]passwd=new char[n];
int ran=(int)(Math.random()*26);
passwd[0]= (char) ('A'+ran);
ran=(int)(Math.random()*26);
passwd[1]=(char) ('a'+ran);
ran=(int)(Math.random()*10);
passwd[2]=(char) ('0'+ran);
for(int i=3;i<n;i++){
//设置一个随机变量,当随机数等于0时,产生小写,等于1时,产生大写,,
int rand=(int)(Math.random()*3);
if(rand==0){
ran=(int)(Math.random()*26);
passwd[i]= (char) ('A'+ran);
}
if(rand==1){
ran=(int)(Math.random()*26);
passwd[i]= (char) ('a'+ran);
}
if(rand==2){
ran=(int)(Math.random()*10);
passwd[i]= (char) ('0'+ran);
}
}
String randompwd= new String(passwd);
return randompwd;
}
public static void main(String[] args) {
System.out.println(randomPasswd(10));
}
}
版权声明:本文为u014082714原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。