gpt4 book ai didi

java - 无法生成随机字母的 key ,这些字母在整个 key 中仅使用/找到一次

转载 作者:行者123 更新时间:2023-12-01 19:33:10 24 4
gpt4 key购买 nike

我正在尝试生成一个随机字母 key ,这些字母在整个 key 中仅使用一次。我目前有一个数组“regKey”,它按正常顺序存储字母 A-Z。我想创建一个新数组“newKey”,其中字母的顺序完全随机,但在创建这个新数组时使用每个字母。新数组中不应有任何字母重复。

到目前为止,我已经能够生成随 secret 钥,但通常会出现某些字母的重复项。下面是我的代码供引用。

public void keyGen() {
char [] regKey = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
char [] newKey = new char [26];

int tempNum;
int totalChoice = 26;

Random rand = new Random();

for(int i = 0; i<26; i++) {
tempNum = rand.nextInt(totalChoice);

newKey[i] = regKey[tempNum];

System.out.print(newKey[i]);
}

String keyString = new String (newKey);

label_key.setText(keyString);
}

最佳答案

您想要做的事情称为“随机播放”。您可以使用Collections.shuffle “随机化”一个数组。

List<Character> regKeyAsList = Arrays.asList(regKey);
Collections.shuffle(regKeyAsList);
char[] newKey = regKeyAsList.toArray();

关于java - 无法生成随机字母的 key ,这些字母在整个 key 中仅使用/找到一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58916340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com