import java.util.Random;
public class RandomPassword {
public static void main(String[] args) {
// int i =(int)(8+Math.random()*(20-8+1));
int i=8;
RandomPassword rp = new RandomPassword();
String pd = rp.getRandomPassword(i);
System.out.println(pd);
}
public String getRandomPassword(int len){
String result = null;
result=this.makeRandomPassword(len);
if (result.matches(".*[a-z]{1,}.*")&&
result.matches(".*[A-Z]{1,}.*")&&
result.matches(".*\\d{1,}.*")&&
result.matches(".*[~!@#$%^&*\\.?].*")
) {
return result;
}
result=this.makeRandomPassword(len);
return result;
}
public String makeRandomPassword(int len){
char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*.?".toCharArray();
StringBuilder sb = new StringBuilder();
Random r = new Random();
for (int i = 0; i < len; ++i) {
sb.append(charr[r.nextInt(charr.length)]);
}
return sb.toString();
}
}
import java.util.Random;
public class RandomPassword2 {
public static void main(String[] args) {
char [] charr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*.?".toCharArray();
char [] charr1 = "abcdefghijklmnopqrstuvwxyz".toCharArray();
char [] charr2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
char [] charr3 = "1234567890".toCharArray();
char [] charr4 = "~!@#$%^&*.?".toCharArray();
StringBuffer s1 = new StringBuffer();
StringBuffer s2 = new StringBuffer();
StringBuffer s3 = new StringBuffer();
Random r = new Random();
char a=charr1[r.nextInt(charr1.length)];
char b=charr2[r.nextInt(charr2.length)];
char c=charr3[r.nextInt(charr3.length)];
char d=charr4[r.nextInt(charr4.length)];
for (int i = 0; i < 4; ++i) {
s1.append(charr[r.nextInt(charr.length)]);
}
s2.append(a).append(b).append(c).append(d);
s3.append(s1).insert(r.nextInt(4)+1, s2);
System.out.println(s3.toString());
}
}