Hallo zusammen,
Ich möchte ein kleines Programm schreiben das die Obejkte in einem ArrayList permutiert. Das Problem ist, das ein java.lang.indexOutofBoundsException index 2 size 0 bei in Zeile
bekomme.Bitte um Rat und Hilfe.
Ich möchte ein kleines Programm schreiben das die Obejkte in einem ArrayList permutiert. Das Problem ist, das ein java.lang.indexOutofBoundsException index 2 size 0 bei in Zeile
Code:
result.add(b[y], tempArray)
Code:
import java.util.*;
public class Permutation
{
public ArrayList<int[]> next(ArrayList<int[]> list)
{
ArrayList<int[]> original = new ArrayList<int[]>();
original = list;
ArrayList<int[]> result = new ArrayList<int[]>();
int[] indexOriginal = new int[original.size()];
for(int i = 0; i < original.size(); i++){
indexOriginal[i] = i;
}
int[] b = (int[])indexOriginal.clone();
for (int k = b.length - 1; k > 0; k--) {
int w = (int)Math.floor(Math.random() * (k+1));
int temp = b[w];
b[w] = b[k];
b[k] = temp;
}
for(int y = 0; y < b.length; y++){
int[] tempArray = original.get(y);
result.add(b[y], tempArray);
}
return result;
}
public static void main(String[] args)
{
Permutation p = new Permutation();
ArrayList<int[]> liste = new ArrayList<int[]>();
int [] arr1 = {1,1,1,1,1};
int [] arr2 = {2,2,2,2,2};
int [] arr3 = {3,3,3,3,3};
int [] arr4 = {4,4,4,4,4};
int [] arr5 = {5,5,5,5,5};
liste.add(arr1);
liste.add(arr2);
liste.add(arr3);
liste.add(arr4);
liste.add(arr5);
ArrayList<int[]> result = new ArrayList<int[]>();
result = p.next(liste);
for(int[] y:result){
for(int i= 0; i < y.length; i++){
System.out.println(y[i]);
}
}
}
}