1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
307
307
EMPFEHLEN
-
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.Code :1
result.add(b[y], tempArray)
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
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]); } } } }
-
30.01.12 13:27 #2
Ich versteh den Sinn von dem ersten Index-Array nicht.
Aber davon mal abgesehen ist das Wort Permutation nicht ein wenig übertrieben? Für mich sieht es spontan eher nach einer Shuffle-Methode aus und dafür gibt es bereits etwas:
http://docs.oracle.com/javase/1.4.2/...ava.util.List)
Vorausgesetzt natürlich es ist keine Schulaufgabe, wo du das selbst basteln sollst
Geändert von HonniCilest (30.01.12 um 13:30 Uhr)
Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
Ähnliche Themen
-
Permutation eines Arrays
Von 'GreenDragon' im Forum PHPAntworten: 1Letzter Beitrag: 04.10.10, 09:27 -
Permutation erzeugen
Von Thomas Darimont im Forum Algorithmen & Datenstrukturen mit JavaAntworten: 0Letzter Beitrag: 26.06.10, 11:59 -
Permutation
Von om1krnoy im Forum C/C++Antworten: 6Letzter Beitrag: 17.05.10, 20:33 -
C - Permutation mit 10 Zahlen
Von sheester im Forum C/C++Antworten: 10Letzter Beitrag: 27.12.09, 14:52 -
Permutation (kombinationen anzeigen)
Von hemorieder im Forum C/C++Antworten: 1Letzter Beitrag: 05.04.06, 11:57





Zitieren
Login





