package cn;

import java.util.Random;

/**
* @author yeqv
* @program A2
* @Classname a2
* @Date 2022/1/14 21:40
* @Email w16638771062@163.com
*/

public class a2 {//随机生成指定长度的一串密码

public static void main(String[] args) {
a2 abc = new a2();
String a = abc.getPassword();
System.out.println(a);
}

public String getPassword(int... n) {//定义一个生成密码的方法返回值类型是String,输入参数的类型是int数组
//判断输入的密码长度是否为空,如果为空默认密码长度为6.不为空便是输入的长度
int num = n.length == 0 ? 6 : n[0];
//定义一个字符串作为密码的随机对象
String str = "0123456789_-=+'\",`~!@#$%^&* ()abcdefghijklmnolpqrstuvwxyzABCDEFGHIJKLMNOLPQRSTUVWXYZ";
//实例化一个字符串构造器对象,初始容量为6
StringBuilder sbu = new StringBuilder(6);
//实例化一个随机生成器对象
Random rand = new Random();
for (int i = 0; i < num; i++) {
//向字符串构造器中传值,str.length()为字符串str的长度,rand.nextInt()为随机生成一个数括号内是数字的范围
//str.charaAt()返回值为字符串str中的某个字符,括号内为该字符的下标。
sbu.append(str.charAt(rand.nextInt(str.length())));
}
//将字符串构造器中的内容以字符串类型返回
return sbu.toString();
}

}