我不知道什么更简单但是,您可以使用Math.rand()函数在字符长度的范围内生成一个随机数,而不需要替换,这将给您一个混洗输出
public class Shuffle {
public static void main(String[] args) {
Shuffle s = new Shuffle();
s.shuffle("hello");
}
public void shuffle(String input){
List characters = new ArrayList();
for(char c:input.toCharArray()){
characters.add(c);
}
StringBuilder output = new StringBuilder(input.length());
while(characters.size()!=0){
int randPicker = (int)(Math.random()*characters.size());
output.append(characters.remove(randPicker));
}
System.out.println(output.toString());
}
}
/*
Sample outputs
hlleo
llheo
leohl
lleho
*/