所以我想做一个字谜解码器,我想知道有没有更好的方法。我当前的代码是:
Random random = new Random();
char[] splitAnagram = chosenAnagram.toCharArray();
int[] presetNumbers = new int[chosenAnagram.length()];
int i = 0;
while (true) {
TimeUnit.MILLISECONDS.sleep(10);
int thisRandom = random.nextInt(chosenAnagram.length());
if (Arrays.asList(presetNumbers).contains(thisRandom) == true)
presetNumbers[i] = thisRandom;
else
continue;
i++;
if (i > chosenAnagram.length())
break;
}
for (int l = 0; l < chosenAnagram.length(); l++) {
System.out.println(splitAnagram[presetNumbers[l]]);
}基本上,它为每个字母生成随机数,因此它将单词“打乱”。它是有缺陷的,因为它甚至不应该循环,只是让一个人混乱,但总的来说,它看起来真的很慢,很容易出错(我睡眠10ms,因为它只能在每次系统时间更改时生成随机数)。
我想知道是否有其他算法可以解决这个问题,或者是我可以使用的API。谢谢!
附注:我正在运行Eclipse Photon,如果你知道有什么插件的话。
https://stackoverflow.com/questions/52084445
复制相似问题