generate方法中还缺点东西,没有把随机生成出来的letters数组下标所对应的元素,放入chs数组中
public static void generate(char [] chs){
//char [] letter ... 这里定义一个char 类型的数组,存放24个字符
//定义一个长度为26的布尔数组。 数组当然可以是boolean类型。每个元素的默认值为false
//boolean[] flags = new boolean[letters.length];
//这个for循环5次
//for(int i = 0;iint index;
do{
//Math.random()随机生成0-1之间的小数, *letters.length
//也就是*26 表示随机生成1-26之间的数字
//然后赋值给index
//然后执行while里的方法
//flags[inedx] 因为上面默认值是false
//如果flags[inedx] 是false 讲其置为true
//其实这段代码的含义就是生成不重复的5个字母,如果生成过程中发现是重复的,则继续生成。
//假设 indedx 随机出来的分别是 5 5 4 8 6
//for循环第一次 index = 5 flags[5]为false; 所以执行 flags[5] = true;
//for循环第二次 index =5 此时,flags[5]是true 所以while(true);继续执行do里面的方法
//
index = (int)(Math.random()*(letters.length));
}while(flags[index]);
flags[index] = true;
}
}