如何用java输出指定数目的随机不重复字母

来源:百度知道 编辑:UC知道 时间:2024/07/08 11:31:48
思路是什么该怎么写,如何实现

package systemin;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class CharReader {

public static void main(String[] args) throws IOException {
// 先设置26个英文字母
char[] allChar = new char[26];
for (int i = 97; i < 123; i++) {
allChar[i - 97] = (char) i;
}
// 存放已经取到的字符。为了方便使用list以及查找已经获取过的字符,因此使用list,目标是使用它的contains方法。
List<String> contentList = new ArrayList<String>();

int count = 5;

while (count > 0) {
// 取随机数,用以乘以26,得到[0,26)(大于等于零,小于26)的数字。
double numDouble = Math.random() * 26;
// 用得到的结果除以1,可得到0-25一共26个数字中的任何一个。
int position = (int) numDouble / 1;
// 判断对应位置上面的字符是否已经被取到,如果取到则直接进入下一个循环,不做保存处理。
if (contentList.contains(String.valueOf(allChar[position])))
continue;
// 如果之前没有被取到,则保存到结果集当中,并将计数数字减一。
contentList.add(String.valueOf(allChar[positi