主类:
import java.util.List;
import java.util.Random;
public class PermutationGenerator{
public static void main(String[] args) {
Random bruh = new Random();
List<Integer> filledArray = nextPermutation.fillArray();
int[] randomArray = new int[10];
for (int i = 0; i < randomArray.length; i++) {
int randomPosition = bruh.nextInt(10 - i) + 1;
randomArray[i] = filledArray.get(randomPosition);
filledArray.remove(randomPosition);
}
System.out.print("List 1: ");
printArray(randomArray);
}
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
}
赛跑者类:`import java.util.ArrayList;
公共类nextPermutation {
public static ArrayList<Integer> fillArray() {
ArrayList<Integer> randomArray = new ArrayList<Integer>();
randomArray.add(0);
randomArray.add(1);
randomArray.add(2);
randomArray.add(3);
randomArray.add(4);
randomArray.add(5);
randomArray.add(6);
randomArray.add(7);
randomArray.add(8);
randomArray.add(9);
randomArray.add(10);
return randomArray;
}
}`
我应该打印出类似这样的内容:
清单1:4 6 8 1 9 7 10 5 3 2
清单2:6 8 1 7 3 4 9 10 5 2
清单3:2 4 9 6 8 1 10 5 7 3
清单4:8 5 4 3 2 9 6 7 1 10
清单5:10 3 2 6 8 9 5 7 4 1
清单6:9 10 3 2 1 5 6 8 4 7
清单7:3 8 5 9 4 2 10 1 6 7
清单8:3 2 4 5 7 6 9 8 10 1
清单9:4 1 5 10 8 3 6 2 7 9
清单10:3 5 2 4 1 7 9 6 8 10
但是对我来说,它只打印出一行。我想我可以使用for循环来做到这一点。另外,我也可以蛮力,但我更喜欢前者。
我需要帮助的地方是如何开始for循环。
任何帮助将不胜感激。
您可以将整个代码包装成一个循环
List<Integer> filledArray = nextPermutation.fillArray();
int[] randomArray = new int[10];
for (int i = 0; i < randomArray.length; i++) {
int randomPosition = bruh.nextInt(10 - i) + 1;
randomArray[i] = filledArray.get(randomPosition);
filledArray.remove(randomPosition);
}
System.out.print("List 1: ");
printArray(randomArray);
甚至最好将其移至新方法