1

我如何将 Array 单词中的每个字符串随机化...对于单词“Position”到“Psioiont”。基本上我需要做的是我想以一种有趣的方式展示一个人在回答之前必须思考的方式......

你好--->“hlelo”

public class Rnd {
    public static void main(String[] args) {

       List  list = new ArrayList();
       Collections.shuffle(list);

       String[] words =new String[]{"Position", "beast", "Hello"};
       Collections.shuffle(Arrays.asList(words)); 
    }
}
4

2 回答 2

1

只需将每个字符串中的字符放入列表中,然后调用Collections.shuffle(),然后将它们放回字符串中:

    String x = "hello";
    List<Character> list = new ArrayList<Character>();
    for(char c : x.toCharArray()) {
        list.add(c);
    }
    Collections.shuffle(list);
    StringBuilder builder = new StringBuilder();
    for(char c : list) {
        builder.append(c);
    }
    String shuffled = builder.toString();

    System.out.println(shuffled); //e.g. llheo
于 2013-05-03T16:19:17.003 回答
0

将每个字符串转换为一个字符数组并在其上调用 shuffle,然后再次创建一个字符串。

当然,这实际上不适用于真正的 Unicode - 如果那里可能存在非 BMP 字符或复合字符,则没有简单的方法可以做到这一点。但它可能会适用于这种看起来像的小游戏。

于 2013-05-03T16:09:43.107 回答