我目前正在编写一个程序,该程序需要我从字母表中生成随机字母并将其分配给其他字母。 (这是一个加密程序)。问题是,一旦我生成了前几个字母,就会再次生成一些字母。
例如,
我想让a = c(随机生成的字母)
但是既然使用了c,我不希望其他25个字母等于c。
所以我不要b = c
我不知道该怎么办,因为这似乎很容易,但我无法做到。
这是我的代码。
for (int i = 0; i<26; i++)
{
Random r = new Random();
cipherArray[i] =(char)(cipherText.charAt(r.nextInt(cipherText.length())));
}
return cipherArray;
任何帮助表示赞赏,谢谢。
最佳答案
您可以尝试以下方法。
public static void main(final String[] args) {
List<Character> chars = new ArrayList<>(26);
for (char c = 'a'; c <= 'z'; c++) {
chars.add(c);
}
Collections.shuffle(chars);
}
它创建一个字符列表,从“ a”到“ z”,并将其洗牌。