我该如何改变一个单词的字母?

mor*_*aud 3 java arrays random

什么是对数组中单词的字母进行洗牌的最简单方法?我在数组中有一些单词,我随机选择一个单词,但我也想把它的字母洗牌.

public static void main (String[] args ) {
    String [] animals = { "Dog" , "Cat" , "Dino" } ;    
    Random random = new Random();
    String word = animals [random.nextInt(animals.length)];

    System.out.println ( word ) ;
    //I Simply want to shuffle the letters of word     
}
Run Code Online (Sandbox Code Playgroud)

我不应该使用那个列表的东西.我想出了类似的东西,但是用这个代码打印随机字母,它不会随机播放.如果那封信已经打印出来,也许我可以编写类似不打印的东西?

//GET RANDOM LETTER
for (int i = 0; i< word.length(); i++ ) {

char c = (word.charAt(random.nextInt(word.length())));
System.out.print(c); } 
  }
Run Code Online (Sandbox Code Playgroud)

Ras*_*kan 8

真的不需要收集以及以下内容:

public static void main(String[] args) {

    // Create a random object
    Random r = new Random();

    String word = "Animals";

    System.out.println("Before: " + word );
    word = scramble( r, word );
    System.out.println("After : " + word );
}

public static String scramble( Random random, String inputString )
{
    // Convert your string into a simple char array:
    char a[] = inputString.toCharArray();

    // Scramble the letters using the standard Fisher-Yates shuffle, 
    for( int i=0 ; i<a.length ; i++ )
    {
        int j = random.nextInt(a.length);
        // Swap letters
        char temp = a[i]; a[i] = a[j];  a[j] = temp;
    }       

    return new String( a );
}
Run Code Online (Sandbox Code Playgroud)