public class ABCDE
{
public static void main(String[] args)
{
ABCDE a = new ABCDE();
String after = a.order("abcde");
System.out.println(after);
}
public String order(String str)
{
char[] ch = str.toCharArray(); //转换str为字符数组并赋值给ch
boolean[] check = new boolean[ch.length]; //以ch相同的长度产检一个布尔类型的数组
StringBuffer newOrder = new StringBuffer();
for (int i = 0; i < ch.length; i++)
{
int temp = (int) (Math.random() * ch.length);
while (check[temp]) // 当check数组、temp位置是true的时候,开始循环
{
temp = (int) (Math.random() * ch.length);
//如果是true(已添加,则跳过,重新random)
}
check[temp] = true; //如果false,则赋值true,标记为已添加(False为未添加)
newOrder.append(ch[temp]);
}
return newOrder.toString();
}
}