Problem - Random Permutation

vichente

Grünschnabel
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
Code:
result.add(b[y], tempArray)
bekomme.Bitte um Rat und Hilfe.
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]);
            }
        }
    }
}
 
Zuletzt bearbeitet:
Zurück