java - 如何决定数组中进行了多少次洗牌?

标签 java

如果我的数组大小为 n,我希望我的方法将数组洗牌 n2 次。

这是我的代码:

public static void shuffle(String[] array){
  Random generator = new Random(12);
  for (int i=0; i<array.length; i++) {

  }
}

如何添加一行代码来指定我想要进行多少次随机播放?

最佳答案

使用单个 for 循环

public static void shuffle(char[] array){
     Random generator = new Random(12345);
          long numberOfShufflesMultiplier = (long)Math.pow(array.length,4); //your variable
           for (long i=0; i<numberOfShufflesMultiplier; i++) {
             int s = generator.nextInt(array.length);
             int index = (int)(i%array.length);
             char temp = array[index];
             array[index] = array[s];
             array[s] = temp;
           }
         }

关于java - 如何决定数组中进行了多少次洗牌?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33159330/

相关文章:

c# - 编程语言可以成为平台的一部分吗? (C# 和 Java 相关)

java - 如何使用 PrintStream 写入文本文件而不在每行之间留空行?

java - 将更改应用到 JSP,而无需在 IntelliJ 中重新部署应用程序

java - 在嵌套类上调用 getter 方法时如何避免 NullPointerExceptions

Java从txt文件中读取数字

java - 如何在ServletContextListener中获取spring ApplicationContext?

Java Servlet 说文件不存在

java - JAVA_HOME 错误或缺少对您的架构的支持?

java - 在Spring中按顺序实例化bean?

java - 无法使用 os.popen 捕获 java -version 的输出