我的问题是我试图通过使用 Random() 和 .toCharArray() 将(例如)字符串“asdf”更改为“sdfa”。
如何不得到重复的随机数?
我认为我应该创建一个新的 Char 数组,以便在不更改原始数组的情况下随机存储 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);
}
}