String[] str = {"r","a","n","d","o","m"};
java 里有把str中的字符重新排列的函数吗?应该怎么做?

解决方案 »

  1.   

    Java中没有直接的方法重新排列数组,如果是ArrayList的可以
    Collections.shuffle(al);如果不想用ArrayList,你可以打开这个方法的源代码改成支持数组的
      

  2.   

    int temp;
    int n=str.length;
    for(int i=0;i<str.length;i++)
    {
      int r=(int)(Math.random()*n);
      temp=str[r];
      str[r]=str[n-1];//避免重复
      str[n-1]=temp;
      n--;
    }
      

  3.   

    to: yuziyu
    那样做是会有重复的字符出现的
      

  4.   

    int temp;
    int n=str.length;
    for(int i=0;i<str.length;i++)
    {
      int r1=(int)(Math.random()*n);
      int r2=(int)(Math.random()*n);
      temp=str[r1];
      str[r1]=str[r2];
      str[r2]=temp;
    }
      

  5.   

    to: nimifeng(现在只想学点东西)
    你那样做也是有重复的,你可以试一试。