gpt4 book ai didi

java - 使用 .toCharArray() 打乱字符串

转载 作者:行者123 更新时间:2023-12-01 17:31:33 25 4
gpt4 key购买 nike

我的问题是我试图通过使用 Random() 和 .toCharArray() 将字符串“asdf”更改为“sdfa”(例如)。

如何不获得重复的随机数?

我认为我应该创建一个新的 Char 数组,以便在不更改原始数组的情况下随机存储字符,因为如果我这样做,那么新字符串将被搞乱,如果这有意义的话。

我没有在这段代码中这样做,但这可能是一个替代方案???

编辑:我已将其放入主类中,这应该会更容易。谢谢。

import java.util.Random;


public class Scramble {

public static void main(String[] args) {

String str = "asdf";

Random randomGenerator = new Random();

int lengthOfStr = str.length();

char[] chars = str.toCharArray();



// do for length of str
for (int i=0; i < lengthOfStr; i++)
{

int n = randomGenerator.nextInt(lengthOfStr);

chars[i] = chars[n];

String newStr = new String(chars);
str = newStr;
}

System.out.println(str);
}

}

最佳答案

查找 Fisher-Yates shuffle了解如何正确随机打乱数组。 (顺便说一句,该算法非常适合 Java 的随机数生成器为您提供随机数的方式,并且不需要使您的随机数唯一。)

关于java - 使用 .toCharArray() 打乱字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10344526/

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