如何摆脱使用后随机生成的字母?

Her*_*ire 0 java random generator

我正在编写一个程序,要求我从字母表中生成随机字母并将其分配给其他字母.(这是一个加密程序).问题是,一旦我生成了前几个字母,就会再生成一些字母.

例如,我想让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;
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助,谢谢.

MPi*_*ous 6

您可以尝试以下方法.

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);
}
Run Code Online (Sandbox Code Playgroud)

它会创建一个字符'a'到'z'的列表并对其进行随机播放.